Mic*_*ard 13 .net c# silverlight silverlight-3.0
我正在开发一个Silverlight项目,用户可以在其中创建自己的拼贴画.
问题
使用BitmapImage类加载一堆图像时,Silverlight会占用大量不合理的RAM.150张图片,其中单个填充最多4,5mb占用大约1,6GB的RAM - 因此最终导致内存异常.
我正在通过流加载它们,因为用户选择了自己的照片.
我正在寻找什么
消除大量RAM被吸收的类,方法或一些过程.速度是一个问题,所以我不想在图像格式或类似的东西之间进行转换.快速调整大小的解决方案可能有效.
我已经尝试使用WriteableBitmap渲染图像,但我发现这种方法迫使我在拖放和其他我希望用户能够对图像做的事情上重新发明轮子.
我会尝试在加载下一个流之前加载每个流并将其调整为缩略图(例如,640x480).然后让用户使用较小的图像.准备好生成PDF后,一次一个地从原始流重新加载JPEG,在加载下一个位图之前处理每个位图.