找回密码
 立即注册

QQ登录

只需一步,快速开始

450289068

论坛元老

18

主题

148

帖子

4122

积分

论坛元老

积分
4122

活字格认证

450289068
论坛元老   /  发表于:2013-11-6 10:19  /   查看:19700  /  回复:36
求助版主一个问题。
因为业务需要在文档中需要插入影像图片,举个例子,我在图片需要展示的位置放入邮件合并域,然后通过代码将原有1024*768的图片,通过计算当前列宽twip的值换算为像素,然后通过确定列宽像素为图片缩放最小宽度来等比例缩放图片。 假如最后屏幕上显示的大小为300*400 。
ok。
我的问题:
1.此时图片是否已经失真?
2.根据我们的需要,结果应为像是在word中操作一样,当载入一个1024*768的图片,手动拖拽到一定显示大小,但是word是将原图像素点都存入到内存,在你打印是将原图打印到word中显示大小,像素不会失真。加入原图有100w像素,通过拖拽到400*300的图像显示大小时,像素是不会变化的。

求助:
txtextcontrol有没有对于图片操作的事件,或者调整显示大小,想word中zoom的概念。打印图片效果不失真。不然有没有其他解决办法来处理。
多谢

36 个回复

倒序浏览
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-11-6 12:07:00
沙发
TX中图片大小取决于你加载图片本身的大小,图片在缩放之后本身的大小没有改变(Height和Width属性),只是显示的比例发生了变化(HorizontalScaling和VerticalScaling属性)
回复 使用道具 举报
450289068
论坛元老   /  发表于:2013-11-6 13:22:00
板凳
int Dpi_Pixels = Convert.ToInt32(OperationByron.getDpi_Pixels());//15
                int cellWidthPix = cell.Width / Dpi_Pixels;
                TXTextControl.Image DocImage = new TXTextControl.Image(img);
                int HorizonScaling = Convert.ToInt32(cellWidthPix * 100 / img.Width);
                int VerticalScaling = Convert.ToInt32((img.Height * cellWidthPix) * 100  / img.Width / img.Height);
                DocImage.HorizontalScaling = HorizonScaling;
                DocImage.VerticalScaling = VerticalScaling;
                //textControl1.Images.Add(DocImage, TXTextControl.HorizontalAlignment.Left, mergeField.Start-1, ImageInsertionMode.DisplaceCompleteLines);

那怎么知道缩放的比例  我是这样实现的 ,这样的代码片段  计算出来的图片缩放比例 总是不会达到将列宽撑满的现象,图片感觉好小
版主 你说的这两个属性 对于原图的像素不会有变化 而且不会失真吗?
那打印效果是出现全图 ?
还是缩放比例多大的图片?
回复 使用道具 举报
450289068
论坛元老   /  发表于:2013-11-6 13:29:00
地板
我是转换为像素  然后计算百分比 可是这样出现的不能做到满意的显示大小。
还有 版主可以确认     DocImage.HorizontalScaling = HorizonScaling;
                DocImage.VerticalScaling = VerticalScaling;
这样的处理图片 只是处理了显示大小比例  对于原图是无损像素的在内存中 打印的话不会出现失真,,我实验了下  打印是按照显示比例打印的  现在最担心的就是图片是否会失真。
回复 使用道具 举报
450289068
论坛元老   /  发表于:2013-11-6 13:37:00
5#
Desktop.zip (788.18 KB, 下载次数: 670)
回复 使用道具 举报
450289068
论坛元老   /  发表于:2013-11-6 15:03:00
6#
除了你提到的这这两个属性之外 还有么有处理图片的技术。
满足我附件中展示的区域,计算图片无失真缩放的方法。
???????????????????
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-11-6 17:18:00
7#
450289068 你好

通过代码片段里面部分代码我无法直接运行,你能给我发一个完整的示例演示该问题吗,这样我在调查问题和与厂商沟通过程也会跟快速一些。
回复 使用道具 举报
450289068
论坛元老   /  发表于:2013-11-7 09:48:00
8#
TXTextControlText.zip (1.48 MB, 下载次数: 667)
回复 使用道具 举报
450289068
论坛元老   /  发表于:2013-11-7 10:05:00
9#
不好意思 ,内容比较集中 ,追加一个问题。
关于licensed 问题
我现在是下载的19版本的 wpf 我的机子是安装了控件 并且引用了dll包 产生了licensed   。。那如果我发布之后 需要部署在客户机上。
1.直接部署可以不?
2.如果不行,需要安装控件还是需要将dll包 注册信息注册。
3.如果购买了正式版,,还需要在客户端安装?? 还是零安装到客户端 就可以直接使用 。
因为考虑到要给客户升级,所以需要详尽的说明来研究决定购买意向。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-11-7 11:26:00
10#
回复 9楼450289068的帖子

1.可以直接部署。
3.不需要在客户端安装,可以直接把 Release 包发布到客户机上。

如果需要购买,销售相关事宜,请咨询葡萄城控件业务部-销售部
邮箱:Tool-Sales.cn@grapecity.com
电话:400-657-6008 / 029-88331988-600
联系人:Ruby
回复 使用道具 举报
1234下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部