首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

WPF base64string转化为图片出现参数无效异常

2012-04-12 
WPF base64string转化为图片出现参数无效错误如题,有遇到过这类问题的,看下如何解决,谢谢!代码如下:C# cod

WPF base64string转化为图片出现参数无效错误
如题,有遇到过这类问题的,看下如何解决,谢谢!

代码如下:

C# code
            string base64Str = e.Parameter.ToString();            byte[] arr = Convert.FromBase64String(base64Str);            using (MemoryStream ms = new MemoryStream(arr))            {                ms.Seek(0, SeekOrigin.Begin);                System.Drawing.Image img = System.Drawing.Image.FromStream(ms);                Bitmap m = new Bitmap(img);                IntPtr hBitmap = m.GetHbitmap();                BitmapSizeOptions bso = BitmapSizeOptions.FromEmptyOptions();                BitmapSource bs = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(hBitmap, IntPtr.Zero, Int32Rect.Empty, bso);                Clipboard.SetImage(bs);            }


[解决办法]
我都是直接创建Bitmap对象,没有用到Image来转换,也没遇到过Lz所说的错误情况

System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(ms);

IntPtr hBitmap = bmp.GetHbitmap();

System.Windows.Media.Imaging.BitmapSource bitmapSource =
System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(
hBitmap, IntPtr.Zero, System.Windows.Int32Rect.Empty,
System.Windows.Media.Imaging.BitmapSizeOptions.FromEmptyOptions());
[解决办法]
这句就错了:string base64Str = e.Parameter.ToString();
如果你的e.Parameter本身就是String类型的, 哪来的ToString?如果你的e.Parameter是byte[],那么ToString的结果就是“System.Byte[]”
[解决办法]
打断点看看base64Str里存的是什么东西啊。

热点排行