2015-11-13 60 views
0

我想轉換爲System.Drawing.Image - 參數

System.Drawing.Image對象將從流

但其拋出無效Parameter not valid exception.

Stream p_sImageStream = GenerateStreamFromString(p_sImage); 
System.Drawing.Image oIM = Bitmap.FromStream(p_sImageStream); 

我的p_sImage是"56427673422d0cbd5dfdfebc_M-19__wide-1.JPG"

+0

製圖是一個二進制文件,你永遠不應該把它轉換爲字符串。二進制數據應該始終使用編碼UTF8並轉換爲字節[]而不是字符串。大多數字符串類默認爲Encoding Ascii,這會破壞二進制數據。因此,確保在使用二進制數據時指定編碼。 – jdweng

+0

多數民衆贊成我是米轉換成一個流,然後繪製。我在哪裏 我錯了。 – PSDebugger

+0

顯示'GenerateStreamFromString()'代碼' – jsanalytics

回答

2

pa rameter到GenerateStreamFromString不是一個文件名,它應該包含實際的數據。

如果你有一個JPEG文件的文件名,使用File.OpenRead來得到一個流,你可以傳遞給Bitmap.FromStream,否則只是使用new Bitmap(filename) - 這個構造函數重載打開並讀取一個文件。

0

試試這個

  string p_sImage = @"c:\temp\56427673422d0cbd5dfdfebc_M-19__wide-1.JPG"; 
      FileStream stream = new FileStream(p_sImage, FileMode.Open); 
      System.Drawing.Image oIM = Bitmap.FromStream(stream);​ 
相關問題