By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
424,972 Members | 1,134 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 424,972 IT Pros & Developers. It's quick & easy.

Visual C++ .NET 2005 Bitmap problem

P: 6
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->SetPixeli,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
mdj@bds-soft.com
Sep 16 '10 #1
Share this Question
Share on Google+
2 Replies


P: 6
TempBitmap->SetPixeli,j,TempColor);

should read

TempBitmap->SetPixel(i,j,TempColor);

Odd, the "(" is there in the snippet I copied, I don't know how it got lost. :-(
Sep 17 '10 #2

P: 6
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
mdj@bds-soft.com
Sep 18 '10 #3

Post your reply

Sign in to post your reply or Sign up for a free account.