N newsofter Unregistered / Unconfirmed GUEST, unregistred user! 2005-05-28 #1 我想实现批量修改图片大小的程序,我写的代码可以把IMAGE1的尺寸变小,但是IMAGE1。SAVETOFILE后,尺寸还是原图片,不知道如何是好,请各位赐教。wanglei@21-sun.com
N newsofter Unregistered / Unconfirmed GUEST, unregistred user! 2005-05-28 #2 我想实现批量修改图片大小的程序,我写的代码可以把IMAGE1的尺寸变小,但是IMAGE1。SAVETOFILE后,尺寸还是原图片,不知道如何是好,请各位赐教。wanglei@21-sun.com
C cellking Unregistered / Unconfirmed GUEST, unregistred user! 2005-05-28 #3 不会算法的可以使用控件,属性设定好就可以通过修改控件尺寸来修改图片尺寸修改后保存图片,保存前先把图片处理在内存变量或另外的控件上,速度会比较慢,源代码不在身边,这机器没装DELPHI,不过不是什么高难度动作,兄弟自己弄弄很快就好了。 小弟算法也不强,呵呵。
不会算法的可以使用控件,属性设定好就可以通过修改控件尺寸来修改图片尺寸修改后保存图片,保存前先把图片处理在内存变量或另外的控件上,速度会比较慢,源代码不在身边,这机器没装DELPHI,不过不是什么高难度动作,兄弟自己弄弄很快就好了。 小弟算法也不强,呵呵。
D dreamisx Unregistered / Unconfirmed GUEST, unregistred user! 2005-05-30 #6 用TCanvas.StretchDraw就可以了,注意,你应该将图片 StretchDraw 到另一个 TCanvas 上,而不是直接改Image的大小。
Z zxy666666 Unregistered / Unconfirmed GUEST, unregistred user! 2005-05-30 #9 var bmp1, bmp2: TBimap; begin Chart1.SaveToBitmapFile('C:/Test.bmp'); bmp1 := TBitmap.Create; bmp2 := TBitmap.Create; bmp1.LoadFromFile('C:/Test.bmp'); bmp2.Height := 600; // 指定新高度 bmp2.Width := 800; // 指定新寬度 bmp2.Canvas.StretchDraw(Rect(0, 0, 800, 600), bmp1); // 縮放 bmp2.SaveToFile('C:/Test.bmp'); // 存回原檔名 bmp2.Free; bmp1.Free; end;
var bmp1, bmp2: TBimap; begin Chart1.SaveToBitmapFile('C:/Test.bmp'); bmp1 := TBitmap.Create; bmp2 := TBitmap.Create; bmp1.LoadFromFile('C:/Test.bmp'); bmp2.Height := 600; // 指定新高度 bmp2.Width := 800; // 指定新寬度 bmp2.Canvas.StretchDraw(Rect(0, 0, 800, 600), bmp1); // 縮放 bmp2.SaveToFile('C:/Test.bmp'); // 存回原檔名 bmp2.Free; bmp1.Free; end;
还 还是朋友 Unregistered / Unconfirmed GUEST, unregistred user! 2005-06-01 #10 你把IMAGE1的Stretch属性变为True就可以了。