0

画像をバイトに変換するための私のコードですが、画像ボックスに黒い画面が表示されます:

 Bitmap bitmap = new Bitmap(100, 100);
 MemoryStream MemImage = new MemoryStream();
 bitmap.Save(name, ImageFormat.Bmp);
 bitmap.Save(MemImage, ImageFormat.Bmp);
 byte[] Byte = MemImage.ToArray();

バイトをイメージに変換:

byte[] data = (byte[])Query.Images;
MemoryStream strm = new MemoryStream();
strm.Write(data, 0, data.Length);
strm.Position = 0;
System.Drawing.Image imgTemp = System.Drawing.Image.FromStream(strm);
BitmapImage bi = new BitmapImage();
bi.BeginInit();
MemoryStream ms = new MemoryStream();
imgTemp.Save(ms, System.Drawing.Imaging.ImageFormat.Bmp);
ms.Seek(0, SeekOrigin.Begin);
bi.StreamSource = ms;
bi.EndInit();
ImageBox.Source = bi;

しかし、上記のコードの 1 つの問題は、画像が画像ボックスに表示されない (黒い画面が表示される) ことです。この問題を解決して、私に送ってください.....ありがとう

4

1 に答える 1

3

このコードを試してください

public byte[] imageToByteArray(System.Drawing.Image imageIn)
{
    MemoryStream ms = new MemoryStream();
    imageIn.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
    return ms.ToArray();
}
public Image byteArrayToImage(byte[] byteArrayIn)
{
    MemoryStream ms = new MemoryStream(byteArrayIn);
    Image returnImage = Image.FromStream(ms);
    return returnImage;
}
于 2012-06-25T08:34:31.670 に答える