关于图片的问题?

luofuyanglfy 2006-10-25 03:37:57
如何使不够图片框大小的图片调整成和图片框一样的大小再存入数据库?
在线等,急....
谢谢!
...全文
195 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
happyggy 2006-10-26
  • 打赏
  • 举报
回复
要缩小就传Rates小于1,变大就大于1。
procedure Zoom(Img: TImage;const Rates:single);
var
Bmp :TBitmap;
begin
try
iScaleRate:=Round(Rates*PERCENT);
CboScale.Text:=IntToStr(iScaleRate);
Bmp :=TBitmap.Create;
Bmp.Width :=Round(TifPic.Width*Rates);
Bmp.Height :=Round(TifPic.Height*Rates);
Img.Picture:=nil;
Img.Picture.Bitmap.Assign(TifPic);
StretchBlt(Bmp.Canvas.Handle,0,0,Bmp.Width,Bmp.Height,
Img.Picture.Bitmap.Canvas.Handle,0,0,Img.Picture.Bitmap.Width,Img.Picture.Bitmap.Height,SRCCOPY);
Img.AutoSize :=True;
Img.Picture:=nil;
Img.Picture.Bitmap.Assign(Bmp);
BufferPic.Graphic:=nil;
BufferPic.Bitmap.Assign(Bmp);
Position := Point(0,0);
except
ShowMessage('You scale the picture to large! Out of memory!!');
CboScale.Text:='100';
iScaleRate:=100;
Zoom(Image1,iScaleRate/PERCENT);
end;
Bmp.Free;
end;
happyggy 2006-10-26
  • 打赏
  • 举报
回复
uses
jpeg;

//jpeg转bmp
var
MyJpeg: TJPEGImage;
MyBitmap : TBitmap ;
begin
myjpeg:= TJPEGImage.Create;
MyBitmap:= TBitmap.Create;
MyJpeg.LoadFromFile('c:\123.jpg');
MyBitmap.Assign(MyJpeg);
Image1.Picture.Bitmap:= MyBitmap;
MyBitmap.Free;
MyJpeg.Free;
end;
happyggy 2006-10-26
  • 打赏
  • 举报
回复
没用过你说的那个cxdbgrid,
网上有很多jpg格式图片转换成bmp格式的算法
luofuyanglfy 2006-10-26
  • 打赏
  • 举报
回复
这是JPG格式的图片哦,请给出详细的代码,谢谢啦!
luofuyanglfy 2006-10-26
  • 打赏
  • 举报
回复
详细点好不?画图方面接触比较少啊.
雪狼__ 2006-10-26
  • 打赏
  • 举报
回复
楼上可行
happyggy 2006-10-25
  • 打赏
  • 举报
回复
用canvas.copyrect()就可以了
luofuyanglfy 2006-10-25
  • 打赏
  • 举报
回复
在CXDBGRID里是不能这样的,还有没能其它办法?
hexfhhu 2006-10-25
  • 打赏
  • 举报
回复
把stretch 设置为True即可,从数据库读取图片时,同样把stretch 设置为True

2,498

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧