一个图像翻转的处理问题。 ( 积分: 100 )

  • 主题发起人 主题发起人 fxh7622
  • 开始时间 开始时间
F

fxh7622

Unregistered / Unconfirmed
GUEST, unregistred user!
我这里有两张图,可以看做一张纸的正反面,如何可以实现让这张纸正反两面平滑的翻转呢?
 
帮你顶了,你网上找找有没有什么第三方控件什么的,最近我也想搞些图形处理方面的
 
你说的也就是图像的镜像喽,
代码如下
procedure TForm1.LeftRightMirror(bitmap: TBitmap);
var
bmp1, bmp2, bmp3: TBitmap;
T, P: pByteArray;
X, Y: integer;
begin
bmp1 := TBitmap.Create;
bmp2 := TBitmap.Create;
bmp3 := TBitmap.Create;
bmp2.Assign(bitmap);
bmp1.Assign(bitmap);
bmp3.Width := 2 * bmp1.Width;
bmp3.Height := bitmap.Height;
for Y := 0 to bmp2.Height - 1 do
begin
T := bmp2.ScanLine[Y];
P := bmp1.ScanLine[Y];
for X := 0 to bmp2.Width - 1 do
begin
P[3 * X + 2] := T[3 * (bmp2.Width - 1 - X) + 2];
P[3 * X + 1] := T[3 * (bmp2.Width - 1 - X) + 1];
P[3 * X] := T[3 * (bmp2.Width - 1 - X)];
end;
end;
bmp3.Canvas.Draw(0, 0, bmp2);
bmp3.Canvas.Draw(bmp2.Width, 0, bmp1);
bitmap.Assign(bmp3);
bmp1.Free;
bmp2.Free;
bmp3.Free;
end;
 
不是的,我说的是这样的:“假设有一张扑克牌,你现在看到的是牌的正面,当牌在慢慢翻转的时候的效果”。
 
有现成的控件,你查查
 
用d3d一会有空给你写个demo
 
ok! Demo & Sorce 下载!

图片
http://www.chinasc.net/111222.jpg
http://www.chinasc.net/111222.rar
 
接受答案了.
 
后退
顶部