请问高手如何将尺寸大于800x600的图像存储为800x600的图像?(100分)

  • 主题发起人 主题发起人 急人
  • 开始时间 开始时间

急人

Unregistered / Unconfirmed
GUEST, unregistred user!
请问高手如何将尺寸大于800x600的图像存储为800x600的图像?
即能调整图像尺寸存盘,并保证图像尺寸为800x600。
 
var
_dc:hdc;
_bmp:tbitmap;


image.streach:=true;
image.left:=0;
image.top:=0;
image.height:=600;
image.width:=800;
form1.left:=0;
form1.top:=0;
form1.height:=600;
form1.width:=800;
image1.loadfromfile('pic');

_dc:=getwindc(0);
try
找抓图为bmp图象的代码保存到_bmp
finally
release(0,_dc);
end;
_bmp.savetofile('c:/pic800_600.bmp');
_bmp.free;
 
缩放阿,在论坛里搜索SetStretchBltMode()和
stretchblt()
 
唉!看来不要200分都不行!

var
_dc:hdc;
_bmp:tbitmap;

procedure tform1.button1click(sender:tobject);
begin
button1.visible:=false;

image1.streach:=true;
image1.left:=0;
image1.top:=0;
image1.height:=600;
image1.width:=800;
form1.left:=0;
form1.top:=0;
form1.height:=600;
form1.width:=800;
image1.picture.loadfromfile('pic>800*600文件名');

_dc:=getwindc(0);
_bmp:=tbitmap.create;
_bmp.width:=800;
_bmp.height:=600;

try
bitblt(_bmp.canvas.handle,0,0,_bmp.width,_bmp.height,_dc,0,0,SRCCOPY);
_bmp.savetofile('c:/pic800_600.bmp');
finally
release(0,_dc);
_bmp.free;
end;
button1.visible:=true;
end;


后面来的人晚了一步!呵呵!
 
canvas.stretchDraw呀!
 
后退
顶部