Delphi编程实现TImage.Bitmap的渐隐

减小字体 增大字体 作者:佚名  来源:转载  发布时间:2010-11-08 00:12:52

{ 添加Timage并载入一幅24位或32位bitmap ;
  添加TButton 并在OnClick 事件下加入下面代码 }
procedure TForm1.Button1Click(Sender: TObject);
  procedure FadeOut(const BMP: TImage; Pause: integer);
  var
    BytesPorScan: integer;
    w, h: integer;
    p: pByteArray;
    counter: integer;
  begin
    { 仅在24 位或32位色下有效 }
    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;
    { 减小每个像素的RGB值 }
    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 }

begin
  FadeOut(Image1, 5);
end;

Tags:

作者:佚名
  • 好的评价 如果您觉得此文章好,就请您
      0%(0)
  • 差的评价 如果您觉得此文章差,就请您
      0%(0)

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论

广告位置B