当前位置: 代码迷 >> 综合 >> WriteableBitmap/BitmapImage/MemoryStream/byte[]相互转换
  详细解决方案

WriteableBitmap/BitmapImage/MemoryStream/byte[]相互转换

热度:80   发布时间:2024-01-15 21:52:24.0

1WriteableBitmapBitmapImage转换

1.1 BitmapImage  to WriteableBitmap

   BitmapImage bitmapImage=new BitmapImage(new Uri(“http://...”,UriKind.Revelate));

   WriteableBitmap writeableBitmap = new WriteableBitmap(bitmapImage);

1.2 WriteableBitmap to BitmapImage

   MemoryStream stream = new MemoryStream();

   writeableBitmap.SaveJpeg(stream, writeableBitmap.PixelWidth,

writeableBitmap.PixelHeight,0,100);

   BitmapImage temp = new BitmapImage();

   temp.SetSource(stream);

2WriteableBitmap/BitmapImage to byte[]

2.1 WriteableBitmap to byte[]

   MemoryStream stream = new MemoryStream();

   writeableBitmap.SaveJpeg(stream, writeableBitmap.PixelWidth,

writeableBitmap.PixelHeight,0,100);

   byte[]rgbBytes = stream.ToArray();

2.2 byte[] to WriteableBitmap

   byte[]rgbBytes;

   MemoryStream stream = new MemoryStream(rgbBytes);

   WriteableBitmap writeableBitmap = new WriteableBitmap(width,height);

   writeableBitmap.LoadJpeg(stream);

2.3 BitmapImage to byte[]

   BitmapImage bitmapImage=new BitmapImage(new Uri(“http://...”,UriKind.Revelate));

   WriteableBitmap writeableBitmap = new WriteableBitmap(bitmapImage);

   MemoryStream stream = new MemoryStream();

   writeableBitmap.SaveJpeg(stream, writeableBitmap.PixelWidth,

writeableBitmap.PixelHeight,0,100);

   byte[]rgbBytes = stream.ToArray();

2.4 byte[] to BitmapImage

   byte[]rgbBytes;

   MemoryStream stream = new MemoryStream(rgbBytes);

   BitmapImage bitmapImage = new BitmapImage();

   bitmapImage.SetSource(stream);

3WriteableBitmap/BitmapImage to stream

3.1 WriteableBitmap to stream

   MemoryStream stream = new MemoryStream();

   writeableBitmap.SaveJpeg(stream, writeableBitmap.PixelWidth,

writeableBitmap.PixelHeight,0,100);

3.2 MemoryStream to WriteableBitmap

   BitmapImage bitmapImage = new BitmapImage();

   bitmapImage.SetSource(memoryStream);

  WriteableBitmap writeableBitmap = new WriteableBitmap (bitmapImage);

3.3 BitmapImage to MemoryStream

  BitmapImage bitmapImage;

  WriteableBitmap writeableBitmap = new WriteableBitmap(bitmapImage);

  MemoryStream stream = new MemoryStream();

  writeableBitmap.SaveJpeg(stream, writeableBitmap.PixelWidth, writeableBitmap.PixelHeight,0,100);

3.4 MemoryStream to BitmapImage

  BitmapImage bitmapImage = new BitmapImage();

  bitmapImage.SetSource(stream);

  相关解决方案