问个关于多层图片叠加的问题

mdejtod 2009-05-08 07:51:18
加精
图层数目不固定,而且各个图层要有叠加顺序,
除了一张背景图(24位)外,其余各个图层均为32位的,并要在这些图层上作操作,比如在某个图层上输出文字,或是再叠加其它的小图片(PNG格式),
最关键的是,以什么方式将每个图层都以透明的方式叠加到背景图片上?
而且各个图层的操作是独立的,不会影响到其它的图层,
我现在采用的是 :将 24位 的背景图与32位的图层经过混算后达到透明,再生成一张24位的图片,然后再在paintbox上画的方法,
但是这种方法 在修改任何一个图层的图像时,都要求重新生成一次背景图,再与32位的图层进行混算,操作太麻烦,而且如果图层太多时,速度也太慢,不知哪位大侠有过类似的经验?
...全文
2763 58 打赏 收藏 转发到动态 举报
写回复
用AI写文章
58 条回复
切换为时间正序
请发表友善的回复…
发表回复
gain_4230 2010-09-27
  • 打赏
  • 举报
回复
貌似看懂 呵呵 要是我每个小图遍历一个方法,设置初始值和变量,然后处理小图的时候调用一个方法!速度应该还可以吧
foung 2010-09-26
  • 打赏
  • 举报
回复
以前我以为考上大学就可以幸福了,后来发现我找不到工作;
后来我以为找到工作就可以幸福了,后来我发现delphi要掌握很多东西;
再后来我以为掌握了delphi就可以开始幸福了,后来发现我还不懂很多重要的技术;
再以后我以为有了技术就可以幸福了,后来发现我还是错了;
不过我还是搞懂一点:幸福不需要技术,在中国尤其如此。
l284291111 2010-09-18
  • 打赏
  • 举报
回复
学一学
dbWindy 2010-03-19
  • 打赏
  • 举报
回复
agel0ver 2009-05-12
  • 打赏
  • 举报
回复
up
wenfirst01 2009-05-12
  • 打赏
  • 举报
回复
hao
mdejtod 2009-05-12
  • 打赏
  • 举报
回复
[Quote=引用 53 楼 xzhifei 的回复:]
操作图层时,应该只需要处理某个区域内的数据,而不需要处理所有的区域,这样速度会快很多
[/Quote]
谢谢各位

在图层上操作时,比如添加小图片时,是在原有的图上添加,所以没有速度的问题,相当于每次都在输出图上加一个,所以很流畅
图层的混算速度也还可以。基本上还是比较满意了
只是内存占用太大了。添加一个层,内存就会多2M左右。。。。。每个图层的大小是 704 * 440 的
xzhifei 2009-05-12
  • 打赏
  • 举报
回复
操作图层时,应该只需要处理某个区域内的数据,而不需要处理所有的区域,这样速度会快很多
yct0605 2009-05-12
  • 打赏
  • 举报
回复
UP...
xamigo 2009-05-12
  • 打赏
  • 举报
回复
不懂
laviewpbt 2009-05-11
  • 打赏
  • 举报
回复
我现在不明白楼主的意思了,楼主做得和PS的层有多大的区别啊?PS用了多线程而且图像还是分块处理的。
liyoubaidu 2009-05-11
  • 打赏
  • 举报
回复
全透明吗?用路径
mdejtod 2009-05-11
  • 打赏
  • 举报
回复
没人来看看么?
lambochan 2009-05-11
  • 打赏
  • 举报
回复
[Quote=引用 46 楼 mdejtod 的回复:]
例如要擦除某个元素,只需要往该区域矩形把原来的BG图该区域帖回去不就擦除了?
:
这些小图片有可能在某个位置上是重叠,也就是说,清除了这个,它下面一层还有一个,或是多个,取混合输出图的背景覆盖的方法应该不行
[/Quote]

下面一层还有一个,就合成一个,或是多个,就合多个.
也就是说,该擦除区域有多少就重新合多少(不包括那个被擦除的)..总比整个BG & layer[N]全部重绘合成要快NN倍吧.
nmgwddj 2009-05-11
  • 打赏
  • 举报
回复
恩 不错值得考虑
mdejtod 2009-05-11
  • 打赏
  • 举报
回复
例如要擦除某个元素,只需要往该区域矩形把原来的BG图该区域帖回去不就擦除了?
:
这些小图片有可能在某个位置上是重叠,也就是说,清除了这个,它下面一层还有一个,或是多个,取混合输出图的背景覆盖的方法应该不行
lambochan 2009-05-11
  • 打赏
  • 举报
回复
哦,那用简单擦除ms就可以不用全部重新往BG上计算帖图啊.

例如要擦除某个元素,只需要往该区域矩形把原来的BG图该区域帖回去不就擦除了?
而假如还有元素在上面覆盖着,那也只需要计算该区域的合成运算而不用整个图重来啊?
mdejtod 2009-05-11
  • 打赏
  • 举报
回复
[Quote=引用 43 楼 lambochan 的回复:]
LZ在做Game? 屏幕上有几百个不停地动来动去的"精灵" ?
[/Quote]
不是游戏,小图片只要贴上去,也不需要动,只是用户需要调整小图片的属性
lambochan 2009-05-11
  • 打赏
  • 举报
回复
LZ在做Game? 屏幕上有几百个不停地动来动去的"精灵" ?
yuelingmin 2009-05-11
  • 打赏
  • 举报
回复
都是些牛人,太羡慕你们了
加载更多回复(38)

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi GAME,图形处理/多媒体
社区管理员
  • GAME,图形处理/多媒体社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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