hi hi
danke für eure schnelle und professionelle hilfe. habe mich auch selber noch in ein paar büchern schlau gemacht und au ne lösung gefunden. hier möchte ich dies für die nachwelt der nächsten fragenden veröffentlichen
zuerst ne record erstellen:
Delphi-Quellcode:
TRGB = record
blue :byte;
red :byte;
green :byte;
end;
anschliessend:
Delphi-Quellcode:
procedure TForm_Web_Cam.Button_GraustufenClick(Sender: TObject);
var x,y :integer;
pixel :^TRGB;
grau :TColor;
begin
if BitMap.PixelFormat <> pf24bit then
begin
showmessage('Bild ist keine 24-Bitfarben'); //wenn kein 24bit Bild
exit
end;
for y:= 0 to BitMap.height-1 do
begin
pixel:= BitMap.Scanline[y];
for x:= 0 to BitMap.width-1 do
begin
grau:= HiByte(pixel.red*77+pixel.green*151+pixel.blue*28); //neuzuweisen der farbe
pixel.red:= grau;
pixel.blue:= grau;
pixel.green:= grau;
inc(pixel)
end
end;
PaintBox.refresh //damit wird die Paintbox nochmal mit dem neuen bild geladen
end;
mein bild ist vom typ bmp, daher BitMap und wird in einer Paintbox gezeichnet.