2 sdqdpdldyq sdqdpdldyq 于 2015.07.10 15:55 提问

C#怎么读取一张几十M的图片,并避免内存不足?

我需要对JPG或PNG格式的地图进行切割存储,所以需要先把图片读到程序里。一张地图图片有70M,不管用FromFile(),还是FromStream(),都会提示OutofMemory的异常,即内存不足。
网上一般都是循环读无数张小图片的解决方案,问问各位大神,有没有好的办法?我用C#。谢谢!

4个回答

guwei4037
guwei4037   Ds   Rxr 2015.07.10 16:06

是否考虑将图片压缩后再读。 http://blog.csdn.net/chinacsharper/article/details/9865491

u012401478
u012401478   2015.07.10 16:28

图片在内存中占用的空间和它的高度和宽度有关,也就是像素数目有关,像素越多占用内存越大,

91program
91program   Ds   Rxr 2015.07.10 16:42

先用大内存的对图片进行分割吧,这不是靠软件算法可以解决的。

wangyaninglm
wangyaninglm   Ds   Rxr 2015.07.10 17:37

png,是无损格式压缩,我觉的就读个缩略图,完后度那里加载那里吧

Csdn user default icon
上传中...
上传图片
插入图片