各位大神,最近在做一个小程序,delphi通过ole往excel指定的位置插入图片,并缩小图片尺寸;
目前插入图片和缩小图片的操作都正常,但是操作后我发现了一个问题:
通过delphi插入的图片,通过拖拽放大到原始尺寸时,显示质量急剧下降,图片很模糊;
而通过人工在excel插入的图片,通过拖拽缩小后再放大到原来尺寸,图片是基本没有变化的;请教各位大神,delphi该怎样操作,才能不改变原图像的质量?注:
1,现场录制宏,并不能录下插入图片和放大缩小图片的操作,是在网上查的操作资料;
2,试验了两种改变图片大小的方式,一个是通过picture.width和height的方法改变大小,
另外一个是通过selection.ShapeRange.scalewidth和scaleheight的方法改变大小,两者效果差不多都会损失图片质量;
3,我以为是矢量图的原因,但是试验了一下ps软件生成的eps格式图像,发现不能执行插入操作;
因为不能录制宏,不能知道是否有另外的.插入图片方法
目前插入图片和缩小图片的操作都正常,但是操作后我发现了一个问题:
通过delphi插入的图片,通过拖拽放大到原始尺寸时,显示质量急剧下降,图片很模糊;
而通过人工在excel插入的图片,通过拖拽缩小后再放大到原来尺寸,图片是基本没有变化的;请教各位大神,delphi该怎样操作,才能不改变原图像的质量?注:
1,现场录制宏,并不能录下插入图片和放大缩小图片的操作,是在网上查的操作资料;
2,试验了两种改变图片大小的方式,一个是通过picture.width和height的方法改变大小,
另外一个是通过selection.ShapeRange.scalewidth和scaleheight的方法改变大小,两者效果差不多都会损失图片质量;
3,我以为是矢量图的原因,但是试验了一下ps软件生成的eps格式图像,发现不能执行插入操作;
因为不能录制宏,不能知道是否有另外的.插入图片方法
解决方案 »
- 用户每天将考勤数据导出为文本文件,那么是不是每天都要在程序中读取文本文件记录行还是只在月底读一次
- 请教 自定义一个类,类里包含timer组件变量这样是否可行,该如何初始化
- 如何讓電腦自動響應pgup事件~~~~
- tabcontrol上按钮的图标如何更换,他是通过TStrings添加按钮的,看来是不会有imageindex的了!请各位大侠指点!
- Delphi RTTI是什么东西?
- 119急救请教高手
- 软件外包应注意哪些问题?
- 用DELPHI动态生成oracle触发器,该用哪个控件呢?
- Interbase中有类似Oracle的Create Alter View 功能的语句吗?
- 如何将delphi5.5中DBNavigator的提示信息汉化,如单击删除按钮?
- 哪位大神会c#,帮忙翻译成delphi,谢谢!
- 关于delphi通过ole操作excel和word的问题
-----------------------------------------------------------------------------------
我印象里,添加图片有附加属性,决定图片是按照原始照片添加,还是按照指定的尺寸缩放添加,i最好看一下office二次开发文档
我网上找了一下,没有发现有用的office二次开发的文档,大部分都是通过录制宏的方法。因为我不太会从网上找这类资料,不知大神有没有相关的资料?谢谢
workRange := XLApp.ActiveSheet.Range[XLApp.ActiveSheet.Cells.Item[1, 1],XLApp.ActiveSheet.Cells.item[1, 1]];
XLApp.ActiveSheet.Rows[1].RowHeight := 50;
workRange.ColumnWidth := 50;
picture := XLApp.ActiveSheet.Pictures.Insert(PicPath);
picture.left := workRange.left + 1; //左
picture.top := workRange.top + 1; //高
picture.width := workRange.width - 2; //宽度
picture.height := workRange.height - 2; //高度
没有旧版本Office测试,这种不行?
有成熟的控件吗?delphi自带的不好用,所以我一直没有考虑,谢谢指点
目前我的方法是先采用GDI+算法,将图片缩小成需要的大小,然后再原图插入进去,效果有所好转,但是达不到理想状态