2011-03-16 28 views
2

將C#控件保存到位圖文件時遇到了很多問題。有問題的控件是一種繪圖表面,用戶可以在其上寫文本,繪製圖片和繪製框。該控件可調整大小並可拖動。發生的情況是,當控件非常大並且在屏幕上不完全可見時,控件的不可見部分將在位圖上保存一半。用於生成位圖的代碼非常簡單:從比屏幕更高的控件繪製位圖

Bitmap bitmap = new Bitmap(myControl.Width, myControl.Height); 
myControl.DrawToBitmap(bitmap); 

我曾嘗試以下方法來嘗試有一個完全繪位圖,沒有任何成功:

myControl.Invalidate(myControl.ClientRectangle, true); 
myControl.Refresh(); 
myControl.Update(); 
Application.DoEvents(); 

我不能縮放控制下來使其完全可見,因爲分辨率和圖像質量對於該項目非常重要。事實上,我實際上正在試圖擴大形象以提高質量。我有沒有意識到從控件生成圖像的方法?

坦克你。

回答

1

DrawToBitmap有侷限性,並不總是按預期工作。而是嘗試與本地GDI +工作

下面是example