使用大的位图会导致内存不足异常

本文关键字:内存不足 异常 位图 | 更新日期: 2023-09-27 18:01:48

我需要在飞行中编辑(增加高度)图像。文件的尺寸大多是5000*4000。当我创建一个大尺寸的bmp并调用Graphics时,我看到内存飙升到峰值水平。方法。

如何摆脱内存不足的异常?有没有办法在c#中使用大的位图?

使用大的位图会导致内存不足异常

问题是操作需要大量内存。你的文件占用了一些gb,所以解决方案可能是使用流并以块处理文件。

或者最好的选择是使用一些第三方库。下面是一些。net

AForge

图像调整

也看看这个SO问题。

https://stackoverflow.com/questions/158756/what-is-the-best-image-manipulation-library

这取决于您的应用程序具体要求,从您的帖子中不是很清楚,但一般来说,使用大型媒体文件(图像,声音,视频),我认为真正好的解决方案是

内存映射文件

将您的映像保存在磁盘上的内存映射文件中,并调整磁盘上的大小,通过尽可能多地释放您的RAM,您可能不需要快速访问(至少在那一刻)

希望这对你有帮助。问候。