Hallo allen,
Ik ben bezig met een oog waarscheinlijk zeer simpel programmatje, het komt er op neer dat de scanline function alle rood waardes van elke pixel binnen de bitmap scant, en deze waardes opslaat in een Listbox. Ik heb de onderstaande code geschreven. Echter als ik de bmp file open en hem scan op roodwaardes krijg ik alleen maar waardes van 255 terug. Dit klopt niet. Dit heb ik ook gecheckt met een foto bewerkings programma. Onderstaand mijn code. Weet iemande een oplossing voor mijn probleem??
Ik ben bezig met een oog waarscheinlijk zeer simpel programmatje, het komt er op neer dat de scanline function alle rood waardes van elke pixel binnen de bitmap scant, en deze waardes opslaat in een Listbox. Ik heb de onderstaande code geschreven. Echter als ik de bmp file open en hem scan op roodwaardes krijg ik alleen maar waardes van 255 terug. Dit klopt niet. Dit heb ik ook gecheckt met een foto bewerkings programma. Onderstaand mijn code. Weet iemande een oplossing voor mijn probleem??
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| var
PixelPtr: PRGBQuad;
Color, y, x, w, h, I: Integer;
S: String;
begin
Bitmap1 := TBitmap.Create;
if OpenPictureDialog1.Execute then
begin
Bitmap1.LoadFromFile(OpenPictureDialog1.FileName);
end;
for y := 0 to Bitmap1.Height - 1 do
begin
PixelPtr := PRGBQuad(Bitmap1.ScanLine[y]);
for x := 0 to Bitmap1.Width - 1 do
begin
Color := PixelPtr^.rgbGreen;
Listbox1.Items.Add(IntToStr(color));
end;
end;
end; |