请问怎样才能加快IMAGE组件显示JPG图片的速度呀??

MYMGrub 2009-08-10 09:57:16
我用了
TJPEGImage* myjpeg = new TJPEGImage();
myjpeg->LoadFromFile(MapName);
Image1->Width = myjpeg->Width;
Image1->Height = myjpeg->Height;
Image1->Picture = NULL;
Image1->Canvas->Draw(0,0,myjpeg);
delete myjpeg;
来画图,图片大概变成1600*1200大小的时候这个过程就要顿一下,怎样才能加快它的显示呀??
...全文
89 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
MYMGrub 2009-08-11
  • 打赏
  • 举报
回复
十分感谢各位的帮助,看来解决这个问题还需要我再继续进步才可以了:)麻烦各位了...
ccrun.com 2009-08-11
  • 打赏
  • 举报
回复
停顿是正常的,除非在内存中创建一个图像缓冲,也就是传说中的双缓冲技术,另外,可以考虑用GDI+来绘制。
lghndyz 2009-08-10
  • 打赏
  • 举报
回复
1、缩小像素,2、多线程!!
我不懂电脑 2009-08-10
  • 打赏
  • 举报
回复
太大的话肯定会变慢的,即使专业图像处理软件也是这样象photo、mapinfo
dronly 2009-08-10
  • 打赏
  • 举报
回复
楼主有没有考虑先画一张模糊的,就是把800X600的strectDraw到一个1600*1200上先让用户看到个大概,然后再真正的吧1600*1200绘上去更新的方法?

要实际的去加快1600*1200图片的绘制方法估计很难。
MYMGrub 2009-08-10
  • 打赏
  • 举报
回复
听说画布来画图的时候就会存在画图慢的情况,是这样吗?那JPEG图不可以直接用API函数来画了吗??
CACACACACA 2009-08-10
  • 打赏
  • 举报
回复
你可以先画一部分, 加信进度提示什么的。

或者画的时候有个相关的效果。(从左侧拉入, 上方落下)

总之,就是一个过渡的效果/提示、
lghndyz 2009-08-10
  • 打赏
  • 举报
回复
一般你图片几百K以上都算大了,
很多程序用的图片不是位图,而是矢量图,矢量图的优点:(1)文件小;(2)图像元素对象可编辑;(3)图像放大或缩小不影响图像的分辨率;(4)图像的分辨率不依赖于输出设备;缺点:(1)重画图像困难;(2)逼真度低,要画出自然度高的图像需要很多的技巧。
MYMGrub 2009-08-10
  • 打赏
  • 举报
回复
那请问我写的方法还有可能有优化的空间了吗?1600*1200的图片算是很大吗??

604

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder VCL组件使用和开发
社区管理员
  • VCL组件使用和开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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