谁有能旋转图片的控件???(20分)

  • 主题发起人 主题发起人 mel
  • 开始时间 开始时间
M

mel

Unregistered / Unconfirmed
GUEST, unregistred user!
最好也带压缩滴功能。
不过没有这功能滴也行。
 
procedure rotate(sur:pchar;bmp:Tbitmap;cx,cy:integer;angle:integer);
var
x1,y1,x3,y3 :integer //x1,y1 为平移坐标 x3,y3为旋转的新坐标
x,y,h,w,widthbytes,dst,v:integer;
hcos,hsin:double;
tmp:PFcolor;
hu:double;
begin
hu:=angle*3.1415/180;
hcos:=cos(hu); hsin:=sin(hu);
h:=bmp.Height; w:=bmp.Width ;
widthbytes:=integer(bmp.scanline[0])-integer(bmp.scanline[1]);
dst:=integer(bmp.ScanLine[h-1]);
fillchar(pchar(dst)^,widthbytes*h,0); //使图像全黑
for y:=0 to h-1 do
begin
y1:=y -(h-cy); //平移下的y
for x:=0 to W-1 do
begin
x1:=x-cx; //平移下的x
x3:=round(x1*hcos-y1*hsin);
y3:=round(x1*hsin+y1*hcos); //平移下的新坐标
x3:=x3+cx;
y3:=y3+(h-cy); //转换回原坐标
if (x3>=0) and (x3<w-1) and (y3>=0) and (y3<h-1) then
pfcolor(dst+x*3+y*widthbytes)^:=
pfcolor(integer(sur)+x3*3+y3*widthbytes)^;
end;
end;
end;
angle为旋转的角度,cx、cy为旋转中心, cx=width div 2,cy=height div 2即以图像的中心为旋转中心。此程序处理速度快,可处理大图片。
 
凌霄图像批处理专家是一款图片批处理工具,它集批量图片格式转换、批量图片修改处理、批量重命名、批量调整尺寸、批量晒图导出、创建EXE文件、创建PDF文件于一体的图片批处理系统。凌霄图像批处理专家提供将近30种图片修改处理脚本命令(如调整亮度等)供您任意组合使用!她还可以让您轻松的将任意多的图像(图片)文件生成一个EXE或PDF文件,并提供多达150种的显示效果,方便您欣赏自己的图片,并轻易实现与家人、朋友分享!她支持多达11种(BMP, JPG,PNG, EXIF, GIF, WMF,ICO, TGA, PCX,TIFF, PPM )的基本图片格式输出。如果加上与他们等价的格式,则支持的打开图片类型超过30种。而且所有这些功能,您都可以在Windows资源管理器中通过右键菜单轻松使用。
下载地址:www.flyingspace.com
 
接受答案了.
 
后退
顶部