View Full Version : [Visual C++]Creare una bitmap in esecuzione
nucarote
11-01-2010, 17:24
Avrei necessità di creare una bitmap, punto per punto, in esecuzione in una finestra di Windows utilizzando il C++, in maniera analoga a quella mostrata in questo esempio http://msdn.microsoft.com/it-it/library/ms404307.aspx
Vi ringrazio fin da ora per tutti i consigli e suggerimenti ricevuti.
SerMagnus
11-01-2010, 18:00
è semplice, ti crei una picturebox a cui associ un oggetto bitmap mediante la proprietà image.
con l'oggetto bitmap giochi con il metodo setpixel e lavori punto per punto
bastava leggere un minimo della documentazione :P
ti faccio un piccolo esempio in c#
public void CreateBitmapAtRuntime()
{
PictureBox pictureBox1 = new PictureBox();
this.Controls.Add(pictureBox1);
pictureBox1.Size = new Size(100, 110);
Bitmap bmp = new Bitmap(100, 100);
bmp.SetPixel(50, 50, Color.Black);
bmp.SetPixel(51, 51, Color.Black);
bmp.SetPixel(52, 52, Color.Black);
bmp.SetPixel(53, 53, Color.Black);
bmp.SetPixel(54, 54, Color.Black);
pictureBox1.Image = bmp;
}
nucarote
11-01-2010, 20:47
è semplice, ti crei una picturebox a cui associ un oggetto bitmap mediante la proprietà image.
con l'oggetto bitmap giochi con il metodo setpixel e lavori punto per punto
bastava leggere un minimo della documentazione :P
ti faccio un piccolo esempio in c#
public void CreateBitmapAtRuntime()
{
PictureBox pictureBox1 = new PictureBox();
this.Controls.Add(pictureBox1);
pictureBox1.Size = new Size(100, 110);
Bitmap bmp = new Bitmap(100, 100);
bmp.SetPixel(50, 50, Color.Black);
bmp.SetPixel(51, 51, Color.Black);
bmp.SetPixel(52, 52, Color.Black);
bmp.SetPixel(53, 53, Color.Black);
bmp.SetPixel(54, 54, Color.Black);
pictureBox1.Image = bmp;
}
Ho usato anche questo metodo ma non funziona (mi da errore sull'ultima istruzione) e comunque trovo emblematico il fatto che l'esempio analogo al tuo non esista in versione C++ ma solo VB e C#.
nucarote
13-01-2010, 10:51
Altri suggerimenti?
nucarote
28-01-2010, 16:19
riporto su, ma questa volta non usando più .NET, ma puramente C.
chiaramente in C/C++ non puoi usare .NET, devi usare la GDI. nella tua finestra devi gestire opportunamente il messaggio WM_PAINT chiamando la SetPixel: http://msdn.microsoft.com/en-us/library/dd145078(VS.85).aspx
qui c'é la documentazione di WM_PAINT: http://msdn.microsoft.com/en-us/library/dd145213(VS.85).aspx
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.