Graphics

venerdì 19 settembre 2008 - 14.58

fguida Profilo | Expert

Ciao a tutti,
sto studiando un capitolo sul SYSTEM.DRAWING e mi trovo a riscrivere un esempio banale che però non funziona! Qualcuno potrebbe illustrarmi l'errore?

public partial class frmDrawing : Form { public frmDrawing() { InitializeComponent(); } private void frmDrawing_Load(object sender, EventArgs e) { Graphics gGraph = this.CreateGraphics(); gGraph.DrawIcon(SystemIcons.Question, 40, 40); }

Grazie mille

Francesco

aiedail92 Profilo | Expert

Ciao

In cosa consiste il fatto che il codice non funzioni? Perchè ad esempio se l'immagine è caricata da un file, dopo che l'hai modificata devi salvarla prima di avere le modifiche sul file.

Luca

fguida Profilo | Expert

ho modificato il codice..avevo scritto in modo errato quello che vorrei eseguire....comunque vorrei semplicemente visualizzarla nella WinFrom... ma sono certo che mi perdo qualcosa che non è sull'articilo ma che io, non conoscendo il Drawing, non so (magari essendo venerdi dopo pranzo si aggiunge la componente weekend

Francesco

aiedail92 Profilo | Expert

Allora, per visualizzare l'immagine sulla Form devi avere l'immagine di partenza, e devi quindi impostare la proprietà BackgroundImage del form, oppure usare il metodo Graphics.DrawImage. Eccoti un paio di esempi:

//Esempio 1: Imposta l'immagine di sfondo private void tuaForm_Load(object sender, EventArgs e) { //Ottiene l'immagine da modificare, le dimensioni sono quelle della Form Image iFoto = new Bitmap(this.Width, this.Height); //Ottiene il Graphics dell'immagine Graphics graph = Graphics.FromImage(iFoto); //Aggiunge l'icona graph.DrawIcon(SystemIcons.Question, new Rectangle(new Point(0, 0), this.Size)); //Imposta lo sfondo this.BackgroundImage = iFoto; } //Esempio 2: usa l'evento Paint e disegna ogni volta l'immagine private Image iFoto; private void tuaForm_Paint(object sender, PaintEventArgs e) { Graphics graph; //Se l'immagine non esiste la crea e disegna l'icona if (iFoto == null) { iFoto = new Bitmap(this.Width, this.Height); graph = Graphics.FromImage(iFoto); graph.DrawIcon(SystemIcons.Question, this.ClientRectangle); } //Ottiene il Graphics per il controllo graph = this.CreateGraphics(); //Pulisce il Graphics graph.Clear(this.BackColor); //Disegna l'immagine graph.DrawImage(iFoto, this.ClientRectangle); }

Luca

fguida Profilo | Expert

A ecco...quello che non avevo compreso era che servisse un'immagine di base ed il graphic come modificatore
Ora è più chiaro, ti ringrazio


Francesco
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5