其实很简单:
有一个像素为13000*9000的图片,我要把它加载到picturebox。结果程序报错:内存不足!
我也想着先把图像弄小一点,再加载。
尝试使用Image类的GetThumbnailImage方法,不行!
尝试使用g.drawimage,还是不行!
好像Image类就不能处理高或宽超过1W的图片。不知道路过的各位大虾有没有什么高见。谢谢了。
有一个像素为13000*9000的图片,我要把它加载到picturebox。结果程序报错:内存不足!
我也想着先把图像弄小一点,再加载。
尝试使用Image类的GetThumbnailImage方法,不行!
尝试使用g.drawimage,还是不行!
好像Image类就不能处理高或宽超过1W的图片。不知道路过的各位大虾有没有什么高见。谢谢了。
你需要搞清楚是什么时候报的内存不足呀还可以使用提高WINDOWS XP 的内存使用
Image bitmap = new Bitmap(sReadPath);
bitmap = new Bitmap(bitmap, iWidth, iHeight);
1楼的哥哥,做下测试你就知道了。
System.Drawing.Image img = System.Drawing.Image.FromFile(oldfile);
图片本身不能被正确识别,或是文件已经损坏,会报内存不足
Image 对象资源是否释放
每像数32bit(真彩+Alpha)是4个字节:),共约446M.
1楼回答问题前作了测试,实际上画了一个同时还装载了一个同样大小的图,用PictureBox进行显示并没有问题。
在Java中系统默认分配给JVM的内存是64M,如果想要增加,需要在运行时使用命令行参数,不知道.NET中有没有这方面的设置。
是啊,我刚发完发现自己又把×4写成×8了,但只能连续发3贴,只好作罢我记得以前用delphi加载一张14M的图就慢得要死,400多M即使可以加载我想也慢得要死了吧。。
誰說的1G大小的文件映射到內存就只是分配1G的內存空間?
x86程序支持2G内存管理
不过.NET控件尺寸不能超过10000x10000好像大图片处理没啥经验,可能能通过图片特性做分片加载,估计比较麻烦,支持格式也是单一的。
不过建议楼主还是分块保存切成100x100一块
加载的时候可以只加载显示区域的那些块
bitmap = (Bitmap)Image.FromFile(openFileDialog1.FileName);打开大图片的时候出现问题。请问你的所说的用缩略图是怎样实现的呢