我有一个图片流,通过以下代码将其转换为图片:
Image imagefromstream = Image.FromStream(stream);
当我在图形���绘制这幅图片时,它会绘制出来。
但是,如果我在图形绘制后处理流,那么图片就不会被绘制出来。
有没有人能帮我处理这个图片流呢?
您必须在图像的生命周期内保持流处于打开状态。
当关闭应用程序(或者不再需要图像时)必须Dispose流。IDisposable
(或手动处理的 ValueTuple
)来同时包含 Image
和 Stream
对象,并将该对象传递以管理图像的生命周期。 - DaiBitmapImage
中拥有它,将该BitmapImage
设置为图像的源。var imageSource = new BitmapImage();
imageSource.BeginInit();
imageSource.StreamSource = memoryStream;
imageSource.CacheOption= CacheOption.OnLoad;
imageSource.EndInit();
// Assign the Source property of your image
image.Source = imageSource;
EndInit
之后,您可以安全地关闭流。 - ClemensBitmapImage
是指向System.Windows.Media.Imaging.BitmapImage
的引用吗?如果是,那它并不真正属于System.Drawing
。 - Dai
System.Drawing.Image
,因为它是WinForms的。相反,应该使用System.Windows.Media.Imaging.BitmapImage
,就像Sankarann所给出的答案中所示。 - Clemens