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