图片类型转换 在WPF中想将其中的图片换到WINFORM中去用,老是出现下面的错误,各位碰到过吗?说点方法呀.无法从System.Windows.Media.ImageBrush转换为System.Drawing.Image无法从System.Windows.Media.Imaging.RenderTargetBitmap转换为System.Drawing.Image 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 WPF问题,怎么这么少人关注呀? 无语了,没人关注,自己解决了,帖出来共享下吧public System.Drawing.Bitmap GetBitmap(BitmapSource image) { System.Windows.Media.Imaging.BitmapSource bitmapSource = image as BitmapSource; double newWidthRatio = image.Width / (double)bitmapSource.PixelWidth; double newHeightRatio = ((image.Width * bitmapSource.PixelHeight) / (double)bitmapSource.PixelWidth) / (double)bitmapSource.PixelHeight; System.Windows.Media.Imaging.BitmapSource transformedBitmapSource = new System.Windows.Media.Imaging.TransformedBitmap( bitmapSource, new System.Windows.Media.ScaleTransform(newWidthRatio, newHeightRatio)); int width = transformedBitmapSource.PixelWidth; int height = transformedBitmapSource.PixelHeight; int stride = width * ((transformedBitmapSource.Format.BitsPerPixel + 7) / 8); byte[] bits = new byte[height * stride]; transformedBitmapSource.CopyPixels(bits, stride, 0); unsafe { fixed (byte* pBits = bits) { IntPtr ptr = new IntPtr(pBits); System.Drawing.Bitmap bitmap = new System.Drawing.Bitmap( width, height, stride, System.Drawing.Imaging.PixelFormat.Format32bppPArgb, ptr); return bitmap; } } } 楼主,请教你个问题,如何把Image转化成Bitmap。请帮下忙,谢谢! 判断字符后有几个0 记录插入SQL数据库 listView Items显示问题 兄弟初来乍到 多帮忙【有代码】 正则表达式替换 如何能等待一天语句的执行完毕 自动处理asp.net的按钮事件问题 C#开发windows服务的问题 while的问题(急,在线,谢谢大家了) WPF XAML 中的控件 如何设定成PUBLIC 一个小问题!大家都来看看~有什么好的方法! c# 鼠标移动一条画好的线,鼠标到了哪里线就跟着到了哪里? 请问大家是如何处理Excel导出列名要为中文的问题的.?
{
System.Windows.Media.Imaging.BitmapSource bitmapSource = image as BitmapSource;
double newWidthRatio = image.Width / (double)bitmapSource.PixelWidth;
double newHeightRatio = ((image.Width * bitmapSource.PixelHeight) / (double)bitmapSource.PixelWidth) / (double)bitmapSource.PixelHeight; System.Windows.Media.Imaging.BitmapSource transformedBitmapSource = new System.Windows.Media.Imaging.TransformedBitmap(
bitmapSource,
new System.Windows.Media.ScaleTransform(newWidthRatio, newHeightRatio)); int width = transformedBitmapSource.PixelWidth;
int height = transformedBitmapSource.PixelHeight;
int stride = width * ((transformedBitmapSource.Format.BitsPerPixel + 7) / 8); byte[] bits = new byte[height * stride]; transformedBitmapSource.CopyPixels(bits, stride, 0); unsafe
{
fixed (byte* pBits = bits)
{
IntPtr ptr = new IntPtr(pBits); System.Drawing.Bitmap bitmap = new System.Drawing.Bitmap(
width,
height,
stride,
System.Drawing.Imaging.PixelFormat.Format32bppPArgb,
ptr); return bitmap;
}
}
}