请教,关于dbimage 请教:我使用了一个dbimage,怎么样使图片按比例缩放显示?就是如果图片的大小小于dbimage的大小就完整显示,如果图片的长或宽大于了dbimage,则按照原来图片大小的比例缩小后显示在dbimage中。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 图象组件有个stretch属性,设置为true可以使图象按照控件的大小进行缩放。你试试吧! 那个没用的,只是将图片充满整个dbimage,小的图片会被拉伸变形的 DBImage.Stretch :=True;然后通过DBImage取得图片实际尺寸,按尺寸比例缩小。实现方法:将DBImage放在一Panel上,比较Image的高和宽,如果高大于宽,则图片缩小到hight := panel.heightwidth := panel.height / image actual height * image actual width否则image width = panel.widthimage height = panel.width / image actual width * image actual height这样,只要你调好panel的大小,那么DBImage就会根据以上原则将图片自动适应panel的宽和高(如果图片实际高大于宽,则缩小后高为panel高,如果图片实际宽大于高,则缩小后宽为panel宽)procedure TForm1.Table1AfterScroll(DataSet: TDataSet);begin if dbimage.Picture.Height >= panel1.height then begin dbimage.hight := panel.height; dbimage.width := panel.height / dbimage.Picture.Height * dbimage.Picture.width; end else begin dbimage.width = panel.width; dbimage.height = panel.width / dbimage.Picture.width* dbimage.Picture.Height; end;end; 我试过了,按这种算法做出来的只是截取了符合panel的长宽的一部分图片,而并没有真正做到按比例缩放,我要的效果是image中的proportional属性效果,可惜dbimage没有这个属性,只能自己来编。给你20分,毕竟你的程序也给了我一些启发,要继续加油啊,谢谢! 请教TIDHttp控件用法 老师,请帮助吧,好急呵,关于用 delphi 中用ADOquery查询的问题 求助:想各位大哥请教一个非常急的问题,怎么把数据库附加到 sql server 2000?谢谢! 怎么把IE嵌入到应用程序中呀? 关于保留2位小数的问题 不仅杭州创业,浙江联众卫生科技公司是更黑的垃圾公司 各位大哥,帮帮小妹吧! 新手的问题 如何实现 Delphi 带参数运行? 请各位有实之士抽空看看 (菜鸟问题)TreeView的Onclick和OnDblClick事件怎样获取鼠标位置和按键信息? 这个问题有点儿难,有点儿难!
你试试吧!
然后通过DBImage取得图片实际尺寸,按尺寸比例缩小。
实现方法:
将DBImage放在一Panel上,
比较Image的高和宽,
如果高大于宽,则图片缩小到hight := panel.height
width := panel.height / image actual height * image actual width
否则image width = panel.width
image height = panel.width / image actual width * image actual height这样,只要你调好panel的大小,那么DBImage就会根据以上原则将图片自动适应
panel的宽和高(如果图片实际高大于宽,则缩小后高为panel高,
如果图片实际宽大于高,则缩小后宽为panel宽)
procedure TForm1.Table1AfterScroll(DataSet: TDataSet);
begin
if dbimage.Picture.Height >= panel1.height then
begin
dbimage.hight := panel.height;
dbimage.width := panel.height / dbimage.Picture.Height * dbimage.Picture.width;
end
else begin
dbimage.width = panel.width;
dbimage.height = panel.width / dbimage.Picture.width* dbimage.Picture.Height;
end;
end;
给你20分,毕竟你的程序也给了我一些启发,要继续加油啊,谢谢!