请教:我使用了一个dbimage,怎么样使图片按比例缩放显示?就是如果图片的大小小于dbimage的大小就完整显示,如果图片的长或宽大于了dbimage,则按照原来图片大小的比例缩小后显示在dbimage中。
解决方案 »
- 请问webservice客户端如何通过代理服务器连接webservice服务
- !!!!!!!!线程为什么不能GetMessage
- 各位高手我有问题想知道?
- 关于update的一个小问题,请教各位高手
- 请问如何让TServerSocket只接受最多N个连接?谢谢!
- 急:一段希望生成EXE,在后台执行的程序,如何创建工程实现?
- 想调用一个dll文件,明明那个文件已经在这里了,但就是说找不到,怎么办?
- 送分。关于一个经常使用的函数
- SQL Server中的Case表达式问题.
- 如何对注册表进行操作???
- (菜鸟问题)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分,毕竟你的程序也给了我一些启发,要继续加油啊,谢谢!