1.

Solve : Visual C++ .NET 2005 Bitmap Problem?

Answer»

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
[emailprotected]
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
[emailprotected]



Discussion

No Comment Found