关于10M以上图片的数字处理问题
我写了软件要处理图片,用writeablebitmap new一个图片,然后Image控件的Source指向这个Writeablebitmap.10M的图片能给我卡死,内存占用的也很可怕。我觉得我这样处理图片是不是不好啊,这么大的图片是不是不应该这样操作啊,求前辈们指点 --------------------编程问答-------------------- 如果是10M的jpg 压缩图片。那应该是相当大的一张图片了。以一般2G内存肯定应付不了了。
jpg格式是相当复杂的,jpg好象使用70%以上的压缩算法还有狗屁离散数学的东西。自己搞了几个月也没有搞定。
bmp相对简单一些。
250M的bmp颜色改一遍可以在1秒左右搞定。 --------------------编程问答-------------------- 我也遇到过,学习下,顶上去! --------------------编程问答-------------------- 顶顶顶。有没有大牛来回答下啊 --------------------编程问答-------------------- 有木有牛人给解释下咩,我顶! --------------------编程问答--------------------
lz 先解释 一下 “10M的图片”
免得大牛们,看不懂,去瞎猜
--------------------编程问答--------------------
谢谢帮顶 --------------------编程问答--------------------
那你最后怎么解决的呀,我的就是10M左右的JPG图片,不过一般没有这么大的jpg图片吧,数码相机拍摄的图片一般都是bmp吧 --------------------编程问答-------------------- 将图片先分割,再处理 --------------------编程问答--------------------
哦,不好意思,我现在具体说一下:
我是做一个图像处理软件,类似美图秀秀的,我测试了10M左右的jpg图片,也就是8000*6000左右大小的。非常吃内存,一个图片要吃掉200M左右的内存呢。我刚看了1楼的回复,想到一点,是不是基本上没有这么大的jpg图片啊,现在单反相机拍出来的都是什么格式多大的照片呢?我是不是测试对象挑的不对啊 --------------------编程问答-------------------- photoshop处理大图片都是分割成很多块处理的,每次处理一块花费的时间不多。
imge的source指向img这样不好吧,最好能再paint事件中绘制,这样效果会好点,毕竟你图片有10M --------------------编程问答--------------------
在paint事件中绘制是什么意思啊,我有点新手,Image控件的source不是应该指向一个图片么,你说的paint是?
--------------------编程问答--------------------
哦。呵呵,谢了,我刚刚查了,paint事件知道啦。不过我用的是silverlight,以前没有用过这个事件,我会研究下的。谢谢了 --------------------编程问答--------------------
8000*6000 不是一般的大,
一般 图片 就正常屏幕那么大 就算高清了
专业一点,全画幅单反相机, 分辨率达到 5760×3840 就不错了
存成jpg 的话 根据不同的质量设定 ,大小不定
--------------------编程问答--------------------
恩啊。谢谢了,是我弄得太夸张了。。 --------------------编程问答-------------------- 分块处理吧,不做修改的块或者暂时看不见的块不载入。再说了貌似10M的jpg有点疯狂了。
补充:.NET技术 , C#