淡入淡出? (200分)

  • 主题发起人 主题发起人 srh_lm
  • 开始时间 开始时间
S

srh_lm

Unregistered / Unconfirmed
GUEST, unregistred user!
有没有办法实现两张图片之间的淡入淡出?详细点的说明?[:(][:D]我的图片是JPG怎么办!
 
去Down一个ABC 控件,他有个DEMO用起来也很方便
 
//例子程序

//在Form1上放2个Image,装入大小一样的bmp图像

procedure TForm1.Button1Click(Sender: TObject);
var
i,j,k : Integer;
bmp : TBitmap;
p,p1,p2 : PByteArray;
begin
bmp := TBitmap.Create;
bmp.Width := image1.Width;
bmp.Height := image1.Height;
bmp.PixelFormat := pf24Bit;
image1.Picture.Bitmap.PixelFormat := pf24Bit;
image2.Picture.Bitmap.PixelFormat := pf24Bit;
try
for i := 0 to 255 do
begin
for j := 0 to bmp.Height -1 do
begin
p := bmp.ScanLine[j];
p1 := image1.Picture.Bitmap.ScanLine[j];
p2 := image2.Picture.Bitmap.ScanLine[j];
for k := 0 to bmp.Width * 3 -1 do
p[k] := p1[k] * i div 256 + p2[k] * (256-i) div 256;
end;
Canvas.Draw(0,0,bmp);
sleep(50);
end;
finally
bmp.Free;
end;
end;
 
这里有你要的东西http://bluemoon.myrice.com/efg/Tween.htm
 
上面代码有问题吧?
 
装入的图像必须是BMP格式的,不能是JPEG或其他格式的。
 
用alphablend函数
 
虽然没有完全解决,但还是给你们分!
 
后退
顶部