[C# 프로그래밍] 이미지와 문자열 변환
Programming with C#/C# 프로그래밍 |
2015. 7. 6. 16:50
BitmapImage To String
if ((checkStream = openFileDialog.OpenFile()) != null) { BitmapImage src = new BitmapImage(new Uri(openFileDialog.FileName)); Profile_image.Source = src; //Image image = ImageToStringConvert(src); } public static string ImageToStringConvert(BitmapImage Bitmapimage) { //BitmapImage To Byte[] Data MemoryStream memStream = new MemoryStream(); JpegBitmapEncoder encoder = new JpegBitmapEncoder(); encoder.Frames.Add(BitmapFrame.Create(Bitmapimage)); encoder.Save(memStream); byte[] Image_BinaryData = memStream.GetBuffer(); // BinaryData To StringData string ImageString = Convert.ToBase64String(Image_BinaryData); return ImageString; }
이미지 파일 자체를 선택하면 BitmapImage 객체로 받을 수 있습니다.
Image객체의 Source Property는 ImageSource 객체인데 BitmapImage 에서 자동 형변환 됩니다.
만약 실제 ImageToString을 구현하고 싶으면 Source값을 넣어준 image객체를 매개변수로 넣는 것으로 바꾸면 됩니다.
String To Image
public static Image ConvertStringToImage(string str) { if (str == null || str=="") return null; Image img = new Image(); byte[] jpgimages = Convert.FromBase64String(str); MemoryStream streams = new MemoryStream(jpgimages); JpegBitmapDecoder decoders = new JpegBitmapDecoder(streams, BitmapCreateOptions.None, BitmapCacheOption.None); BitmapSource imagesources = decoders.Frames[0]; img.Source = imagesources; return img; }
'Programming with C# > C# 프로그래밍' 카테고리의 다른 글
[C# 프로그래밍] Drag and Drop (3) | 2016.01.31 |
---|---|
[C# 프로그래밍] 예외 관련 (0) | 2015.07.06 |