Mega Code Archive

 
Categories / Delphi / Graphic
 

Fadeout bitmap

//drony@mynet.com // icq:266148308 procedure TForm1.Button1Click(Sender: TObject); procedure FadeOut(const BMP:TImage; Pause:integer); var BytesPorScan: integer; w,h: integer; p: pByteArray; counter: integer; begin { This only works with 24 or 32 bits bitmaps } If Not (BMP.Picture.Bitmap.PixelFormat in [pf24Bit, pf32Bit]) then raise exception.create('Error, bitmap format not supported.'); try BytesPorScan := Abs ( Integer(BMP.Picture.Bitmap.ScanLine[1])- Integer(BMP.Picture.Bitmap.ScanLine[0])); except raise exception.create('Error'); end; { Decrease the RGB components of each single pixel } for counter := 1 to 256 do begin for h := 0 to BMP.Picture.Bitmap.Height - 1 do begin P := BMP.Picture.Bitmap.ScanLine[h]; for w := 0 to BytesPorScan - 1 do if P^[w] >0 then P^[w] := P^[w]-1; end; Sleep(Pause); BMP.Refresh; end; end; begin FadeOut(Image1, 5); end;