超大图片的显示和缩放问题

ddk2009 2014-06-28 08:34:31
加精
项目中要处理一张图片,JPG图片文件比较大,有300M左右,要实现对图片的以%5的比例递增到100%的缩放比例,我采用的是GDI+里面的缩略图函数及任意拖动,但是每一次都显示非常的慢,不知有没有大侠有这方面的经验,请多多指教,谢谢!
...全文
2805 53 打赏 收藏 转发到动态 举报
写回复
用AI写文章
53 条回复
切换为时间正序
请发表友善的回复…
发表回复
shiter 2014-07-15
  • 打赏
  • 举报
回复
有代码或者链接么,放上来看看,金字塔图片
pww71 2014-07-15
  • 打赏
  • 举报
回复
采用金字塔的形式 几十g的图片都没问题 参考gdal的办法
zhoujk 2014-07-12
  • 打赏
  • 举报
回复
引用 12 楼 tiger9991 的回复:
求问显示的窗口与对应的像素映射 如何搞定?
实现上就是多维数组坐标与一维数据坐标转换的问题。 i = 图片宽度 * Y+ X 其中 i 是一维数组的坐标,XY分别是2维坐标,要求另外提供图片宽度和高度,后者只用于溢出检查。 如果是多通道数据,如RGB或CMYK,这个方程就要稍稍复杂一点
疏可跑马 2014-07-12
  • 打赏
  • 举报
回复
google 地图采用金字塔存储技术 根据比例尺分级显示 一块一块的是采用了AJAX中间件技术 实现地图页面无刷新显示 ——http://bbs.csdn.net/topics/290044846 #27“shlen“
gudufuyun 2014-07-11
  • 打赏
  • 举报
回复
需要用到几个方面的内容 1、金字塔缓存,建立多级金字塔影像,在不同比例缩放时,选择合适的金字塔层采样要显示的影像 2、内存映射。300M的jpg影像按照同波段无压缩bmp影像估算,大小超过2GB,处理大数据量影像需要用到内存映射 3、无论你影像显示到何种比例尺(金字塔层),能显示出来的部分仅仅最大为屏幕分辨率(视图)大小的影像块。 创建视图大小影像块buffer,读取原影像中对应块的影像数据,利用API一次显示。 在影像漫游(拖动)时,利用预测线程预先加载要更新的影像块进行显示。通过这种方式解决拖动卡顿的问题。 加快速度在算法上无非是快速建立金字塔,确定显示比例尺后,根据漫游位置快速加载指定金字塔层的对应影像块,在这些方面进行优化调整。
gudufuyun 2014-07-11
  • 打赏
  • 举报
回复
需要用到几个方面
副组长 2014-07-11
  • 打赏
  • 举报
回复
引用 33 楼 netying 的回复:
如果是bmp,无论多大都可以处理,jpg 不好弄
引用 34 楼 chenbo00004 的回复:
jpg 不好弄
无论什么格式的图片在内存都是DIBBITS。格式都是前期的工作,处理起来都一样。
亚昆 2014-07-11
  • 打赏
  • 举报
回复
做广告的。300m一张jpg很常见。。。。。经常接受到客户的一些喷绘和写真图,喷绘最大的有30米*25米的。但是精度要求不高。100多dpi就可以了。写真效果要求高。尺寸一般在2.5米*8米之间。只是要200dpi以上的精度。。。一般来说纸张没有那么大,就得自己把jpg裁剪出来然后一节一节的打印成成品,最后成品对接。
chenzhuoxue 2014-07-11
  • 打赏
  • 举报
回复
我也在做,取经来了!
wike119 2014-07-11
  • 打赏
  • 举报
回复
先处理成不同分辨率的图片,缩放时,根据当前的显示比例去提取最近分辨率的图片
xiaoxiaobaba791018 2014-07-11
  • 打赏
  • 举报
回复
谢谢楼主了。
aby913 2014-07-11
  • 打赏
  • 举报
回复
学习学习
GW786228836 2014-07-10
  • 打赏
  • 举报
回复
赵4老师 2014-07-10
  • 打赏
  • 举报
回复
CreateFileMapping
lis2012 2014-07-09
  • 打赏
  • 举报
回复
进行图像的裁剪显示
chenbo00004 2014-07-09
  • 打赏
  • 举报
回复
jpg 不好弄
aqbeyond 2014-07-09
  • 打赏
  • 举报
回复
应该结合分辨率来设置不,要不再高清晰度的图像,显示器分辨率就那样,也是白搭。
腹黑的大象 2014-07-09
  • 打赏
  • 举报
回复
学习学习
hope_v 2014-07-09
  • 打赏
  • 举报
回复
找个64位机器,弄个内存多的,32GB吧。 然后载入到内存,使用opencv吧,opencv的函数都是非常高效的。cvResize可以实现你的做法
lgstudyvc 2014-07-08
  • 打赏
  • 举报
回复
这个我知道,上G的大地图都能显示缩放
加载更多回复(29)

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧