当将两个图片叠加时,如何让在上边的图片半透明显示?

时间:2021-04-01 06:05:05
当将两个图片叠加时,如何让在上边的图片半透明显示?
谢谢!

6 个解决方案

#1


在交叉处,将两个图片的RGB值相加然后除以2作为新的RGB值

#2


无须判定图片交叉,按如下方法可实现n个图片的叠加:
1.确定每张图片在最终生成的图片中的位置及所占的分量p(0<p<1);
2.生成图片各象素点R(new)=R(0)*p(0)+R(1)*p(1)+...+R(n-1)*p(n-1),
    注:p(0)+p(1)+...+p(n-1)==1.同理算出G(new)和B(new),各点RGB(new)可得.
3.确定最终生成的图片的大小,进行图片剪切(简单);

当两张图片叠加时,让上边的图片半透明显示,可以通过设定p(1)=0~1,等与0时全透明,
等于1时不透明,中间即为半透明.

#3


方便给出代码否?
谢谢!

#4


别人给了你原理你还要代码, 是不是人啊, 就凭你这要求,
给你代码你也看不懂.

#5


directx

#6


用DirectDraw时可以制定源关键色,或目的关键色
在GDI中好像也有关键色

#1


在交叉处,将两个图片的RGB值相加然后除以2作为新的RGB值

#2


无须判定图片交叉,按如下方法可实现n个图片的叠加:
1.确定每张图片在最终生成的图片中的位置及所占的分量p(0<p<1);
2.生成图片各象素点R(new)=R(0)*p(0)+R(1)*p(1)+...+R(n-1)*p(n-1),
    注:p(0)+p(1)+...+p(n-1)==1.同理算出G(new)和B(new),各点RGB(new)可得.
3.确定最终生成的图片的大小,进行图片剪切(简单);

当两张图片叠加时,让上边的图片半透明显示,可以通过设定p(1)=0~1,等与0时全透明,
等于1时不透明,中间即为半透明.

#3


方便给出代码否?
谢谢!

#4


别人给了你原理你还要代码, 是不是人啊, 就凭你这要求,
给你代码你也看不懂.

#5


directx

#6


用DirectDraw时可以制定源关键色,或目的关键色
在GDI中好像也有关键色