图片处理(200分)

  • 主题发起人 主题发起人 0998
  • 开始时间 开始时间
0

0998

Unregistered / Unconfirmed
GUEST, unregistred user!
1、如何实现图片的渐进与渐出效果(即图片渐渐浮出与渐渐隐去)?(100分)

2、假设有a、b、c三张图片,如何实现a、b、c依次平滑移动进入窗体并无限循环?(100分)

由于本人是一个delphi新手,敬请各位回答详细并含源程序及必要注释。请不要用第三方控件!!
 
图片上的点都是用点表示的,改变点的颜色就可。
我得回去给你找些代码。
为是么不用第三方控件呢?省事?只要知道鸡肉好吃,管他如何张大的。
 
2-->平滑移动进入窗体并无限循环,反正你也是控制他们的左右位置在那里,所以就随便设定TIMER控件的一个时间间隔内的
移动距离,以及下一张图片的位置,无限循环--你不是用窗体的宽度进行限制,到了右边就换到左边吗?
具体没有试,不过你要注意重画等属性的设置,自己试试!
 
以下是淡出到黑屏,可以在这个基础上加工。
先在窗体上加上image1,装入BMP图片(不知道为什么jpg不好使)用它的 Click:
procedure TfrmDown.Image1Click(Sender: TObject);
var
x,y,i: integer;
ptr : PByteArray;
begin
image1.Picture.Bitmap.PixelFormat:=pf24bit;
for i := 1 to 255 do
begin
for y := 0 to image1.Height - 1 do
begin
ptr := image1.Picture.Bitmap.ScanLine[y];
for x := 0 to ((image1.Width*3) - 1) do
begin
if i<126 then
begin
if ptr[x] > 1 then
ptr[x] := ptr[x] - 1;
end
else
if ptr[x] > 9 then
ptr[x] := (ptr[x] - 10);
end;
end;
Application.ProcessMessages;
image1.Canvas.Draw(0,0,image1.Picture.Bitmap);
end;
end;

 
多人接受答案了。
 
后退
顶部