Ovidius
Legacy Member
Beste forumleden,
Ik wil namelijk een programmaatje maken in c++ ( windows form application).
Daar zit een menubalk in, waarmee naar een afbeelding kan gebrowsed worden.
Vervolgens wordt deze weergegeven in een picturebox.
Tot zover gaat dit prima.
De volgende stap is om het negatief van deze afbeelding te berekenen in weer te geven in die picturebox, maar dit mij niet na wat zoekwerk op internet.
private: System::Void openImageToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e)
{
OpenFileDialog^ dlg = gcnew OpenFileDialog();
dlg->Filter = "Image Files(*.PNG;*.JPG;*.JPEG;*.BMP;*.GIF)|*.PNG;*.JPG;*.JPEG;*.BMP;*.GIF";
if(dlg->ShowDialog() == Windows::Forms:
ialogResult::OK)
{
ImageBox->Image = Image::FromFile(dlg->FileName); //Image is naam afbeelding
ImageBox->Top = 0;
ImageBox->Left = 0;
ImageBox->Height = ImageBox->Image->Height; //Hoogte imagebox(picturebox) = hoogte afbeelding
ImageBox->Width = ImageBox->Image->Width; //Breedte imagebox(picturebox) = breedt afbeelding
}
}
Hier zit het probleem:
private: System::Void negatiefToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e)
{
int x;
int y;
for ( x = 0; x < Width - 1; x += 1)
{
for ( y = 0; y < Height - 1; y+=1)
{
Color KleurOrigineel = Image->GetPixel(x,y); //Color is ingebouwde functie
Color KleurNegatief;
//Argb -> 32 bit kleurenafbeelding
//KleurOrigineel.A -> Doorzichtigheid laten we ongewijzigd
KleurNegatief = Color::FromArgb(KleurOrigineel.A, 255 - KleurOrigineel.R, 255 - KleurOrigineel.G, 255 - KleurOrigineel.B);
Image->SetPixel(x,y,KleurNegatief);
}
}
ImageBox->Image;
}
Ik krijg onder andere error's over GetPixel() en SetPixel().
Hulp is welkom
Groeten Ovidius
Ik wil namelijk een programmaatje maken in c++ ( windows form application).
Daar zit een menubalk in, waarmee naar een afbeelding kan gebrowsed worden.
Vervolgens wordt deze weergegeven in een picturebox.
Tot zover gaat dit prima.
De volgende stap is om het negatief van deze afbeelding te berekenen in weer te geven in die picturebox, maar dit mij niet na wat zoekwerk op internet.
private: System::Void openImageToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e)
{
OpenFileDialog^ dlg = gcnew OpenFileDialog();
dlg->Filter = "Image Files(*.PNG;*.JPG;*.JPEG;*.BMP;*.GIF)|*.PNG;*.JPG;*.JPEG;*.BMP;*.GIF";
if(dlg->ShowDialog() == Windows::Forms:
ialogResult::OK){
ImageBox->Image = Image::FromFile(dlg->FileName); //Image is naam afbeelding
ImageBox->Top = 0;
ImageBox->Left = 0;
ImageBox->Height = ImageBox->Image->Height; //Hoogte imagebox(picturebox) = hoogte afbeelding
ImageBox->Width = ImageBox->Image->Width; //Breedte imagebox(picturebox) = breedt afbeelding
}
}
Hier zit het probleem:
private: System::Void negatiefToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e)
{
int x;
int y;
for ( x = 0; x < Width - 1; x += 1)
{
for ( y = 0; y < Height - 1; y+=1)
{
Color KleurOrigineel = Image->GetPixel(x,y); //Color is ingebouwde functie
Color KleurNegatief;
//Argb -> 32 bit kleurenafbeelding
//KleurOrigineel.A -> Doorzichtigheid laten we ongewijzigd
KleurNegatief = Color::FromArgb(KleurOrigineel.A, 255 - KleurOrigineel.R, 255 - KleurOrigineel.G, 255 - KleurOrigineel.B);
Image->SetPixel(x,y,KleurNegatief);
}
}
ImageBox->Image;
}
Ik krijg onder andere error's over GetPixel() en SetPixel().
Hulp is welkom
Groeten Ovidius


