Click to See Complete Forum and Search --> : Visual C++ .NET 2005 Bitmap Problem


mdavidjohnson
September 16th, 2010, 01:17 PM
I'm trying to learn how to modify Bitmaps programatically.

As a first attempt, I'm trying to simply create a blank bitmap, programatically change it to all red, and display it in a pictureBox.

The following code builds without error and, under "Start Without Debugging" runs without error except the blank pictureBox remains blank - no red bitmap is displayed in it. Any suggestions?

private: System::Void button1_Click(System::Object^ sender,
System::EventArgs^ e)
{
Bitmap^ TempBitmap;
TempBitmap = gcnew Bitmap(33,33);
Color TempColor;
unsigned char cArg;
unsigned char cRed;
unsigned char cGreen;
unsigned char cBlue;
for (int i=0; i<33; i++)
{
for (int j=0; j<33; j++)
{
cArg = 255;
cRed = 255;
cGreen = 0;
cBlue = 0;
TempColor.FromArgb(cArg,cRed,cGreen,cBlue);
TempBitmap->SetPixel(i,j,TempColor);
}
}
pictureBox1->Image = TempBitmap;
label4->Text = "DONE";
}

Yes, I know it's inefficient to put the color assignments inside the loop because they never change. But, since that's where I'll eventually put color modifications coding, they make good placeholders. :)

M. David Johnson

Edit by admin: no contact info permitted on the forum, thank you

mdavidjohnson
September 17th, 2010, 10:56 PM
Thanks to Viorel at social_dot_msdn_dot_microsoft_dot_com, the solution is to replace the TempColor assignment line with:

TempColor = Color::FromArgb(cArg,cRed,cGreen,cBlue);

I’ve tested this and it works.

M. David Johnson

ovidiucucu
September 19th, 2010, 06:38 AM
[ Moved thread ]