Einzelnen Beitrag anzeigen

fresh_hotboy

Registriert seit: 16. Okt 2003
6 Beiträge
 
#6

Bild in Graustufen umwandeln

  Alt 12. Nov 2003, 17:30
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.
  Mit Zitat antworten Zitat