BitmapSource a BitmapImage
-
26-10-2019 - |
Domanda
Ho bisogno di analizzare il contenuto di Clipboard.GetImage()
(un BitmapSource
) per un BitmapImage
.
Qualcuno sa come si può fare?
Soluzione
Ho trovato una soluzione pulita che le opere:
BitmapSource bitmapSource = Clipboard.GetImage();
JpegBitmapEncoder encoder = new JpegBitmapEncoder();
MemoryStream memoryStream = new MemoryStream();
BitmapImage bImg = new BitmapImage();
encoder.Frames.Add(BitmapFrame.Create(bitmapSource));
encoder.Save(memoryStream);
memoryStream.Position = 0;
bImg.BeginInit();
bImg.StreamSource = memoryStream;
bImg.EndInit();
memoryStream.Close();
return bImg;
Altri suggerimenti
using System.IO; // namespace for using MemoryStream
private static byte[] ReadImageMemory()
{
BitmapSource bitmapSource = BitmapConversion.ToBitmapSource(Clipboard.GetImage());
JpegBitmapEncoder encoder = new JpegBitmapEncoder();
MemoryStream memoryStream = new MemoryStream();
encoder.Frames.Add(BitmapFrame.Create(bitmapSource));
encoder.Save(memoryStream);
return memoryStream.GetBuffer();
}
// and calling by this example........
byte[] buffer = ReadImageMemory();
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow