找回密码
 立即注册

QQ登录

只需一步,快速开始

wqm156

注册会员

9

主题

24

帖子

85

积分

注册会员

积分
85
wqm156
注册会员   /  发表于:2017-11-13 10:29  /   查看:3157  /  回复:3
我在图片上拉框速度慢,代码如下:
        private void imageViewer1_MouseDown(object sender, MouseEventArgs e)
        {
            x1 = Convert.ToInt32(e.X / myimageviewer.ScaleFactor);
            y1 = Convert.ToInt32(e.Y / myimageviewer.ScaleFactor);
            imageViewer1.Image.AddRectangleToRegion(null, new LeadRect(0, 0, 0, 0), RasterRegionCombineMode.Set);
        }
       private void imageViewer1_MouseMove(object sender, MouseEventArgs e)
        {
                x2 = Convert.ToInt32(e.X / imageViewer1.ScaleFactor);
                y2 = Convert.ToInt32(e.Y / imageViewer1.ScaleFactor);
                myrect.X = Math.Min(x1, x2); myrect.Y = Math.Min(y1, y2);
                myrect.Width = Math.Abs(x2 - x1); myrect.Height = Math.Abs(y2 - y1);
                imageViewer1.Image.AddRectangleToRegion(null, myrect, RasterRegionCombineMode.Set);
        }
请问如何提高速度,在MouseMove时画出黑色虚拟框,MouseUP时才执行imageViewer1.Image.AddRectangleToRegion(null, myrect, RasterRegionCombineMode.Set);画出真实框。

谢谢,不胜感激。

3 个回复

倒序浏览
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-11-13 16:16:36
沙发
您好,我需要确认您使用的是imageviewer控件还是rasterimageviewer,方便的话您可以将您的源码打包发来,方便我帮您判断问题
回复 使用道具 举报
wqm156
注册会员   /  发表于:2017-11-15 14:03:41
板凳
Richard.Ma 发表于 2017-11-13 16:16
您好,我需要确认您使用的是imageviewer控件还是rasterimageviewer,方便的话您可以将您的源码打包发来,方 ...

解决了:
ImageViewerAddRegionInteractiveMode _addRegion1 = new ImageViewerAddRegionInteractiveMode();_addRegion1.AutoRegionToFloater = false;
imageViewer1.InteractiveModes.BeginUpdate(); imageViewer1.InteractiveModes.Add(_addRegion1);imageViewer1.InteractiveModes.EndUpdate();
不如AutomationImageViewer的拉框速度快,仔细能分辨出来

评分

参与人数 1金币 +500 收起 理由
Richard.Ma + 500 很给力!

查看全部评分

回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-11-15 16:10:18
地板
好的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部