MemoryStream来自BitmapSource,需要减少内存消耗
我有一个 10K 的 MemoryStream,它是从 2MB 位图创建的,并使用 JPEG 压缩。由于 MemoryStream
无法直接放置在 GUI 的 System.Windows.Controls.Image
中,因此我使用以下中间代码将其转换回 BitmapImage
,最终是System.Windows.Controls.Image
。
我的问题是,当我将其存储在 BitmapImage 中时,内存分配正在发生 2MB。这是预期的吗?有什么办法可以减少内存吗?
我有大约 300 个缩略图,这个转换大约需要 600MB,这是非常高的。
感谢您的帮助!
I have a MemoryStream
of 10K which was created from a bitmap of 2MB and compressed using JPEG. Since MemoryStream
can’t directly be placed in System.Windows.Controls.Image
for the GUI, I am using the following intermediate code to convert this back to BitmapImage
and eventually System.Windows.Controls.Image
.
My question is, when I store this in BitmapImage
, the memory allocation is taking around
2MB. Is this expected? Is there any way to reduce the memory?
I have around 300 thumbnails and this converstion takes around 600MB, which is very high.
Appreciate your help!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是的,他们是:不要从图像本身创建内存流,而是使用它的缩略图。
以下是如何执行此操作的示例代码:
以下是有关该解决方案的更多详细信息。
Yes their is: Don't create your memorystream from the image itself, instead use a thumbnail of it.
Here is a sample code of how to do it:
And here is more details about the solution.