2013-02-12 85 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));