Показать сообщение отдельно
  #3  
Старый 25.06.2009, 10:59
Rat Rat вне форума
Активный
 
Регистрация: 12.09.2008
Сообщения: 391
Репутация: 6078
По умолчанию

В исходниках видел. Вот оно. Но эта вещь работает только с BMP. А мне нужно именно JPEG.

Аналогичный код:
Код:
  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 for 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; {procedure FadeOut}