사용자의 이미지 파일 경로가 있어야하며 SQL Server 데이터베이스에 이미지를 저장해야합니다.ImageSource를 byte []로 변환하고 ImageSource로 다시 변환하는 방법은 무엇입니까?
나는 사용자로부터 파일을 얻을 방법
public static byte[] ImageToByteArray(BitmapSource bitmapSource)
{
byte[] imgAsByteArray = null;
if(bitmapSource != null)
{
imgAsByteArray = (new WriteableBitmap((BitmapSource)bitmapSource)).Pixels.SelectMany(p => new byte[]
{
(byte) p ,
(byte)(p >> 8 ),
(byte)(p >> 16),
(byte)(p >> 24)
}).ToArray();
}
return imgAsByteArray;
}
를 사용하여 [] 바이트하지만 지금은 내가 BitmapSource는로 다시 변환 할 수 없습니다 변환합니다. 내가 쓴 코드는 다시 예외
에게 코드 던져 변환 : 나는 라인 bitmapImage.SetSource (MS)에 예외가
public static BitmapSourcebyteArrayToImage(byte[] imageBytes)
{
BitmapImage bitmapImage = null;
using(MemoryStream ms = new MemoryStream(imageBytes, 0, imageBytes.Length))
{
bitmapImage = new BitmapImage();
bitmapImage.SetSource(ms);
}
return (BitmapSource)bitmapImage;
}
을;
예외 정보는
어떤 줄에서 예외가 발생합니까? – ZoolWay
line bitmapImage.SetSource (ms); – Yanshof
이미지 형식은 jpg – Yanshof