none
UserControl Bitmap CreateGraphics 失敗 RRS feed

  • 問題

  • Visual Studio 2010 Windows Form C#專案

    建立一個UserControl名為UserSignPen,與Web透過一個SignalRServer溝通,在Web可以塗鴉後將結果傳到SignalRServer,SignalRServer再傳回UserSignPen(base64字串),還原為一個bitmap。原本這個機制都沒問題,也試過我以外的兩台電腦都沒問題,但是就我的電腦有的UserSignPen會發生CreateGraphics會失敗,導致UserSignPen消失,會出現記憶體不足的問題,我的電腦的記憶體是16GB,顯示卡記憶體是8GB。

    Visual Studio 2010也修復,Visual Studio 2010 SP1也重灌還是一樣,不知道是否我在測試Cordova的時候有將Local還是Roam的Visual Studio目錄部分刪除所造成的?不知道大家是否有人遇到一樣的問題?

    public partial class UserSignPen : UserControl

    		public Bitmap GetBitmap()
    		{
    			//Bitmap b1 = new Bitmap(Size.Width, Size.Height, gs);
    
    			try
    			{
    				Bitmap b1 = new Bitmap(Size.Width, Size.Height, this.CreateGraphics());
    				Graphics g1 = Graphics.FromImage(b1);
    
    				g1.Clear(BackColor);
    
    				//if (bitmap != null)
    				//{
    				//	g1.DrawImage(bitmap, 0, 0);
    				//}
    
    				foreach (MyLine myLine in MyLineList)
    				{
    					g1.DrawLine(pen, myLine.StartPoint, myLine.EndPoint);
    				}
    
    				return b1;
    			}
    			catch (Exception ex)
    			{
    				MessageBox.Show(ex.ToString());
    				return null;
    			}
    		}







    • 已編輯 akira32 2017年12月19日 上午 01:28
    2017年12月19日 上午 01:01

所有回覆