| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 987 人关注过本帖
标题:透明度算法
只看楼主 加入收藏
安利鹏
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2009-8-1
收藏
 问题点数:0 回复次数:0 
透明度算法
方法一:
首先,要能取得上层与下层颜色的 RGB三基色,然后用

r,g,b 为最后取得的颜色值;r1,g1,b1是上层的颜色值;r2,g2,b2是下层颜色值

r = r1/2 + r2/2;

g = g1/2 + g2/2;

b = b1/2 + b2/2;

以上为50%透明。若要使用不同的透明度用以下算法(ALPHA=透明度):

(50%以下)

r = r1 - r1/ALPHA + r2/ALPHA;

g = g1 - g1/ALPHA + g2/ALPHA;

b = b1 - b1/ALPHA + b2/ALPHA;

(50%以上)

r = r1/ALPHA + r2 - r2/ALPHA;

g = g1/ALPHA + g2 - g2/ALPHA;

b = b1/ALPHA + b2 - b2/ALPHA;


方法二:
TargetBmp[x,y].Red := (Bmp1[x,y].Red*alpha) + (Bmp2[x,y].Red*(1-alpha));
TargetBmp[x,y].Green := (Bmp1[x,y].Green*alpha) + (Bmp2[x,y].Green*(1-alpha));
TargetBmp[x,y].Blue := (Bmp1[x,y].Blue*alpha) + (Bmp2[x,y].Blue*(1-alpha));
搜索更多相关主题的帖子: 透明度 算法 
2009-08-01 13:40
快速回复:透明度算法
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024983 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved