基线 SVN r240

SVN-Revision: r240
This commit is contained in:
cyf
2025-02-06 06:46:06 +00:00
commit ab56a9bcf7
5317 changed files with 902274 additions and 0 deletions
@@ -0,0 +1,130 @@
using System;
using System.Collections.Generic;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Windows.Media.Imaging;
namespace Lskj.Control.ZKFinger
{
/// <summary>
/// 提供转换:包括:Bitmap和BitmapImage相互转换。
///RenderTargetBitmap > BitmapImage
///ImageSource > Bitmap
///BitmapImage和byte[]相互转换。
///byte[] > Bitmap
/// </summary>
public class ImageTranslater
{
/// <summary>
/// Bitmap --> BitmapImage
/// </summary>
/// <param name="bitmap"></param>
/// <returns></returns>
public static BitmapImage BitmapToBitmapImage(Bitmap bitmap)
{
MemoryStream ms = new MemoryStream();
bitmap.Save(ms, System.Drawing.Imaging.ImageFormat.Bmp);
byte[] bytes;
bytes = ms.GetBuffer();
BitmapImage bi = null;
try
{
bi = new BitmapImage();
bi.BeginInit();
bi.StreamSource = new MemoryStream(bytes);
bi.EndInit();
}
catch
{
Console.WriteLine("转换错误");
bi = null;
}
return bi;
}
// BitmapImage --> Bitmap
//public static Bitmap BitmapImageToBitmap(BitmapImage bitmapImage)
//{
// // BitmapImage bitmapImage = new BitmapImage(new Uri("../Images/test.png", UriKind.Relative));
// using (MemoryStream outStream = new MemoryStream())
// {
// BitmapEncoder enc = new BmpBitmapEncoder();
// enc.Frames.Add(BitmapFrame.Create(bitmapImage));
// enc.Save(outStream);
// Bitmap bitmap = new Bitmap(outStream);
// return new Bitmap(bitmap);
// }
//}
///// <summary>
///// byte数组转为bitmap
///// </summary>
///// <param name="byteArray"></param>
///// <returns></returns>
//public static BitmapImage ByteArrayToBitmap(byte[] byteArray)
//{
// BitmapImage bmp = null;
// try
// {
// bmp = new BitmapImage();
// bmp.BeginInit();
// bmp.StreamSource = new MemoryStream(byteArray);
// bmp.EndInit();
// }
// catch
// {
// bmp = null;
// }
// return bmp;
//}
///// <summary>
///// bitmap 转为byte数组
///// </summary>
///// <param name="bmp"></param>
///// <returns></returns>
//public byte[] BitmapImageToByteArray(BitmapImage bmp)
//{
// byte[] byteArray=null;
// try
// {
// Stream st = bmp.StreamSource;
// if (st != null && st.Length > 0)
// {
// st.Position = 0;
// using(BinaryReader br=new BinaryReader(st))
// {
// byteArray = br.ReadBytes((int)st.Length);
// }
// }
// }
// catch
// {
// byteArray = null;
// Console.WriteLine("转换失败");
// }
// return byteArray;
//}
/// <summary>
/// bitmapimage保存到指定路径的文件下
/// </summary>
/// <param name="bmp"></param>
/// <param name="filePath"></param>
public static void SaveBitmapImageIntoFile(BitmapImage bmp, string filePath)
{
BitmapEncoder encoder = new BmpBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(bmp));
using (var fileStream = new System.IO.FileStream(filePath, System.IO.FileMode.Create))
{
encoder.Save(fileStream);
}
}
}
}