2013-02-12 84 views
0

我创建了一个应用程序,允许用户放大背景图片的某个部分。主要的问题是,放大率领域滞后,你可以看到图片。而且这也是一个单线程应用程序。有没有人有任何建议我能做些什么来解决我的问题?图像放大滞后

enter image description here

我的代码:

public void Magnifier(Point e) 
    { 
     magnifiedPicture.Size = new Size(MagnifierSize, MagnifierSize);  
     magnifiedPicture.Visible = true; 
     magnifiedPicture.Location = new Point(e.X-MagnifierSize/2, e.Y-MagnifierSize/2); 
     magnifiedPicture.BackgroundImage = CutThePicture(CanvasImage, new Rectangle(_ptOnCanvas.X - 18, _ptOnCanvas.Y - 18, 16, 16)); 
     magnifiedPicture.Refresh(); // <-- just for probe, but without any effect 
    } 

回答

0

我用InvokePaint鼠标移动事件,问题得到了解决。

InvokePaint(this, new PaintEventArgs(this.CreateGraphics(), this.DisplayRectangle));