找回密码
 立即注册

QQ登录

只需一步,快速开始

wjy72

初级会员

17

主题

122

帖子

287

积分

初级会员

积分
287

活字格认证微信认证勋章

wjy72
初级会员   /  发表于:2015-10-19 15:10  /   查看:15216  /  回复:21
如果是这样,我已经做好了。
以下RasterImageViewer1的属性,在ImageViewer中是啥?
RasterImageViewer1.InteractiveMode = RasterViewerInteractiveMode.Region;
RasterImageViewer1.InteractiveRegionType = RasterViewerInteractiveRegionType.Rectangle;
RasterImageViewer1.InteractiveMode = RasterViewerInteractiveMode.Floater;
RasterImageViewer1.InteractiveRegionCombineMode = RasterRegionCombineMode.Set;

我正在将RasterImageViewer1换成 imageViewer1

21 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2015-10-19 15:15:00
沙发
回复 1楼wjy72的帖子

好的,非常高兴您能够采纳我们的建议,ImageViewer 是 LeadTools 新添加的用于替换 RasterImageViewer 的控件,后续产品的新功能也仅会在 ImageViewer 中添加。

ImageViewer 和 RasterImageViewer 接口对应问题,可以先参考帮助文档进行对比:
https://www.leadtools.com/help/l ... viewer_members.html
https://www.leadtools.com/help/l ... nteractivemode.html

为了保险起见,我同时发送了邮件给厂商,请厂商提供最精确的对应关系。由于时差影响,预计明天或后天会有回复。
回复 使用道具 举报
wjy72
初级会员   /  发表于:2015-10-19 15:23:00
板凳
如何在imageViewer上选定区域并进行相关的操作?你那DEMO上没看到嘛。
你给的两个链接,我都看了,全是rasterImageViewer上。
我现在要解决的,就是在imageViewer上选定区域,这时imageViewer上相关的属性如何设定的问题。
原来rasterImageViewer就是简单的设置两个属性。不知道imageViewer有没有对应的。
RasterImageViewer1.InteractiveMode = RasterViewerInteractiveMode.Region;
RasterImageViewer1.InteractiveRegionType = RasterViewerInteractiveRegionType.Rectangle;
回复 使用道具 举报
wjy72
初级会员   /  发表于:2015-10-19 15:54:00
地板
在imageViewer class member中,是有InteractiveMode 属性的:
https://www.leadtools.com/help/l ... viewer_members.html
但在VS2013中,imageViewer没有InteractiveMode 属性,有InteractiveModes 属性,但只读。也是醉了。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-10-19 18:19:00
5#
回复 4楼wjy72的帖子

ImageViewer 划取区域方法如下:


  1.             ImageViewerAddRegionInteractiveMode RegionInteractiveMode = new ImageViewerAddRegionInteractiveMode();
  2.             RegionInteractiveMode.Shape = ImageViewerRubberBandShape.Rectangle;
  3.             RegionInteractiveMode.AutoRegionToFloater = true;
  4.             RegionInteractiveMode.WorkOnBounds = true;
  5.             RegionInteractiveMode.WorkCompleted += new EventHandler(RegionInteractiveMode_WorkCompleted);
  6.             RegionInteractiveMode.IsEnabled = true;
  7.             imageViewer1.InteractiveModes.Add(RegionInteractiveMode);
复制代码


3#的两个接口问题也都解决了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
wjy72
初级会员   /  发表于:2015-10-20 09:37:00
6#
好的,谢谢啦
回复 使用道具 举报
wjy72
初级会员   /  发表于:2015-10-20 10:41:00
7#
我忧闷死了。改为imageViewer后,有些功能错了。清除内部变成了清除外部,清除外部时获取LeadRect一点用没有,裁剪、切割也没用啦。
查看代码,全是因为:
LeadRect rc = imageViewer1.Image.GetRegionBounds(null);
是不是这个在rasterImageViewer中能用,在imageViewer中需要换个方法?或者是设定区域时需要某些参数设置?
回复 使用道具 举报
wjy72
初级会员   /  发表于:2015-10-20 11:04:00
8#
在使用正负性时,出现错误:
未能加载文件或程序集“Leadtools, Version=19.0.0.0, Culture=neutral, PublicKeyToken=9cf889f53ea9b907”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040)
这个原来在rasterImageViewer环境下是正常的。
回复 使用道具 举报
wjy72
初级会员   /  发表于:2015-10-20 15:14:00
9#
我手动纠偏后,保存图像出现:
Leadtools.RasterException”类型的未经处理的异常在 leadtools.dll 中发生

保存代码:
    _pageMode = CodecsSavePageMode.Replace;
            codecs.Save(imageViewer1.Image,
                    realImageFile,
                     imageViewer1.Image.OriginalFormat,
                     imageViewer1.Image.BitsPerPixel,
                     1,
                     1,
                      _currentFilePageNumber,
                     _pageMode);
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-10-20 17:48:00
10#
回复 7楼wjy72的帖子

7# 问题获取选择位置需要把 RegionInteractiveMode.AutoRegionToFloater 属性设置为  false。对应获取方法:

  1.             Leadtools.LeadRect lr = this.imageViewer1.Image.GetRegionBounds(null);
复制代码


如果 AutoRegionToFloater  为 true。

  1. Leadtools.LeadRect lr = this.imageViewer1.Floater.GetRegionBounds(null);
复制代码
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部