2015-11-13 118 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);​ 
相关问题