原文:WPF中的Bitmap与byte

 public MainWindow()
{
InitializeComponent();
byte[] b = GetPictureData(@"F:\WPF\TestSolution\TestReatByteFromDB\Images\123.png");
BitmapImage myimg = ByteArrayToBitmapImage(b);
this.testImg.Source = myimg;
} public byte[] GetPictureData(string imagepath)
{
/**/
////根据图片文件的路径使用文件流打开,并保存为byte[]
FileStream fs = new FileStream(imagepath, FileMode.Open);//可以是其他重载方法
byte[] byData = new byte[fs.Length];
fs.Read(byData, 0, byData.Length);
fs.Close();
return byData;
} public BitmapImage ByteArrayToBitmapImage(byte[] byteArray)
{
BitmapImage bmp = null; try
{
bmp = new BitmapImage();
bmp.BeginInit();
bmp.StreamSource = new MemoryStream(byteArray);
bmp.EndInit();
}
catch
{
bmp = null;
} return bmp;
} public byte[] BitmapImageToByteArray(BitmapImage bmp)
{
byte[] byteArray = null; try
{
Stream sMarket = bmp.StreamSource; if (sMarket != null && sMarket.Length > 0)
{
//很重要,因为Position经常位于Stream的末尾,导致下面读取到的长度为0。
sMarket.Position = 0; using (BinaryReader br = new BinaryReader(sMarket))
{
byteArray = br.ReadBytes((int)sMarket.Length);
}
}
}
catch
{
//other exception handling
} return byteArray;
}

  

最新文章

  1. Linux环境下的Nginx编译与安装
  2. Bootstrap响应式栅格系统的设计原理
  3. Making the Grade(POJ3666)
  4. 前端工具-Sublime、WebStorm-快捷方式使用
  5. performSelector的原理以及用法
  6. 什么php?
  7. asp.mvc获取checkbox、radio、select的值
  8. 【锋利的Jquery】读书笔记一
  9. OpenCC的编译与多语言使用
  10. 解决Geoserver请求跨域的几种思路
  11. Elicpse使用技巧-打开选中文件文件夹或者包的当前目录
  12. 09、高级编程之基于排序机制的wordcount程序
  13. [加密]证书、CA、证书信任链
  14. SEIG Modbus 3.4 CVE-2013-0662 漏洞分析与利用
  15. 程序员从技术开发到项目管理PM--思维转变
  16. 使用poi读写excel文件
  17. 51Nod 1376 最长递增子序列的数量 (DP+BIT)
  18. 使用IntelliJ IDEA开发Spring MVC HelloWorld
  19. Uva-oj Product 大数乘法
  20. Kubernetes 在知乎上的应用

热门文章

  1. TFS 安装遇到的问题
  2. js调用android本地java代码
  3. 关于Android studio的安装和配置问题
  4. selenium元素定位(Java)
  5. c#所有部门及其下所部门生成树形图(递归算法获取或键值对方式获取)
  6. redis的一命令
  7. Python基础知识:if语句
  8. DLL加载顺序
  9. div放在li标签中,无法撑开li标签的问题
  10. 组件的三大属性state,props,refs与事件处理