主题:image1载入大图片时如果stretch=true,image1会显示出大图片的缩图,那么如何将这
lkdbdlkq
[专家分:0] 发布于 2006-09-30 11:06:00
赋值后虽然两个image显示的内容一样,但是第一个image1.picture的尺寸是原始图片的尺寸,
而新的image2.picture的尺寸是image1中缩图的尺寸,
也就是说image2.picture.width=image1.width
如何做到呢?万分感谢。
回复列表 (共4个回复)
沙发
xiaohongna [专家分:180] 发布于 2006-09-30 13:58:00
我给你写好了~~
var
destrect,sourect:Trect;
begin
destrect.Left:=0; //取得原始图片大小
destrect.Top:=0;
destrect.Bottom:=image1.Picture.Height;
destrect.Right:=image1.Picture.Width;
sourect.Left:=0; //要显示的大小
sourect.Top:=0;
sourect.Bottom:=image2.Height;
sourect.Right:=image2.Width;
image2.Canvas.CopyRect(sourect,image1.Canvas,destrect);//就行了
end;
板凳
xiaohongna [专家分:180] 发布于 2006-09-30 14:00:00
对了~~这个方法还可以缩小~~都是一样的道理~只要改变目标的大小就行了
3 楼
lkdbdlkq [专家分:0] 发布于 2006-09-30 15:14:00
功能是实现了,可是拷贝完成的图像效果很差,这是什么原因呢?
4 楼
xiaohongna [专家分:180] 发布于 2006-10-01 08:31:00
图像的分辨率并没有变~~你把他变大了当然就不清楚了,至于怎么提高它的分辨率我就不知道了
我来回复