c#中Bitmap转bitmapImage高效方法是什么
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,本篇内容介绍了"c#中Bitmap转bitmapImage高效方法是什么"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅
千家信息网最后更新 2025年01月19日c#中Bitmap转bitmapImage高效方法是什么
本篇内容介绍了"c#中Bitmap转bitmapImage高效方法是什么"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
public BitmapImage BitmapToBitmapImage(System.Drawing.Bitmap bitmap) { System.Drawing.Bitmap bitmapSource = new System.Drawing.Bitmap(bitmap.Width, bitmap.Height); int i, j; for (i = 0; i < bitmap.Width; i++) for (j = 0; j < bitmap.Height; j++) { System.Drawing.Color pixelColor = bitmap.GetPixel(i, j); System.Drawing.Color newColor = System.Drawing.Color.FromArgb(pixelColor.R, pixelColor.G, pixelColor.B); bitmapSource.SetPixel(i, j, newColor); } MemoryStream ms = new MemoryStream(); bitmapSource.Save(ms, System.Drawing.Imaging.ImageFormat.Bmp); BitmapImage bitmapImage = new BitmapImage(); bitmapImage.BeginInit(); bitmapImage.StreamSource = new MemoryStream(ms.ToArray()); bitmapImage.EndInit(); return bitmapImage; }
这种方法快多了。赶紧快去试试吧:
public BitmapImage ToBitmapImage(System.Drawing.Bitmap ImageOriginal) { System.Drawing.Bitmap ImageOriginalBase = new System.Drawing.Bitmap(ImageOriginal); BitmapImage bitmapImage = new BitmapImage(); using (System.IO.MemoryStream ms = new System.IO.MemoryStream()) { ImageOriginalBase.Save(ms, System.Drawing.Imaging.ImageFormat.Png); bitmapImage.BeginInit(); bitmapImage.StreamSource = ms; bitmapImage.CacheOption = BitmapCacheOption.OnLoad; bitmapImage.EndInit(); bitmapImage.Freeze(); } return bitmapImage; }
补:C# Byte[]、Image、Bitmap 之间的相互转换
////// 将图片Image转换成Byte[] /// /// image对象 /// 后缀名 ///public static byte[] ImageToBytes(Image Image, System.Drawing.Imaging.ImageFormat imageFormat) { if (Image == null) { return null; } byte[] data = http://www.cnblogs.com/peasana/archive/2012/02/13/null; using (MemoryStream ms= new MemoryStream()) { using (Bitmap Bitmap = new Bitmap(Image)) { Bitmap.Save(ms, imageFormat); ms.Position = 0; data = https://cache.yisu.com/upload/information/20211118/112/375749.Png); BitmapImage bImage = new BitmapImage(); bImage.BeginInit(); bImage.StreamSource = new MemoryStream(ms.ToArray()); bImage.EndInit(); ms.Dispose(); Bi.Dispose(); System.Windows.Controls.Image i = new System.Windows.Controls.Image(); i.Source = bImage; return i ; } //byte[] 转换 Bitmap public static Bitmap BytesToBitmap(byte[] Bytes) { MemoryStream stream = null; try { stream = new MemoryStream(Bytes); return new Bitmap((Image)new Bitmap(stream)); } catch (ArgumentNullException ex) { throw ex; } catch (ArgumentException ex) { throw ex; } finally { stream.Close(); } } //Bitmap转byte[] public static byte[] BitmapToBytes(Bitmap Bitmap) { MemoryStream ms = null; try { ms = new MemoryStream(); Bitmap.Save(ms, Bitmap.RawFormat); byte[] byteImage = new Byte[ms.Length]; byteImage = ms.ToArray(); return byteImage; } catch (ArgumentNullException ex) { throw ex; } finally { ms.Close(); } } }
"c#中Bitmap转bitmapImage高效方法是什么"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
方法
c#
内容
更多
知识
实用
学有所成
接下来
之间
后缀
困境
图片
实际
对象
情况
文章
案例
编带
网站
行业
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
军事网络技术基础 京东
我国发生的网络安全案例
2020军营网络安全宣传周视频
消逝的光芒2连不上服务器
浙江省光伏网络安全装置
虹口区咨询软件开发销售电话
浙江标准软件开发成本价
携号转网中的数据库
移动宽带拨号连接不到服务器
榆树先进网络技术参考价格
安全咨询软件开发
uml软件开发基本特征
教育方面的网络安全知识
铜川5g软件开发培训中专学校
软件开发办公室要硬件要求
关于软件开发的单词
台式服务器的组成
软件开发招聘信息最新
南通品质软件开发模型设计
网络安全有年龄限制吗
对外提供软件开发服务会计处理
启动apache服务器
9年级网络安全手抄报图片
软件开发师 对英语要求
翰途网络技术有限公司
嘉定区提供网络技术创造辉煌
租用国外服务器搭建网页
数据库技术实验题
数据库产品有什么特点是
利用网络安全靶场培训