游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2263|回复: 5

请教:如何利用贴图的alpha混合实现下面的效果

[复制链接]

9

主题

32

帖子

132

积分

注册会员

Rank: 2

积分
132
发表于 2005-8-22 11:29:00 | 显示全部楼层 |阅读模式
如果有1张底图是下面的资源
如何通过alpha混合实现 图2的效果???
sf_2005822112914.bmp

9

主题

32

帖子

132

积分

注册会员

Rank: 2

积分
132
 楼主| 发表于 2005-8-22 11:34:00 | 显示全部楼层

Re: 请教:如何利用贴图的alpha混合实现下面的效果

图2
显示出来就只是红色的圈里面的图像,如何实现呢???
sf_2005822113336.bmp

5

主题

19

帖子

29

积分

注册会员

Rank: 2

积分
29
发表于 2005-8-22 11:44:00 | 显示全部楼层

Re:请教:如何利用贴图的alpha混合实现下面的效果

LZ是不是说实现聚焦在前面的人身上啊?好像抽取前面那个人的轮廓之后在这个人主题和后面背景使用不同的颜色作Alpha就可以实现

9

主题

32

帖子

132

积分

注册会员

Rank: 2

积分
132
 楼主| 发表于 2005-8-22 11:54:00 | 显示全部楼层

Re: 请教:如何利用贴图的alpha混合实现下面的效果

LZ是不是说实现聚焦在前面的人身上啊?好像抽取前面那个人的轮廓之后在这个人主题和后面背景使用不同的颜色作Alpha就可以实现

我的意思是:只提取出红圈内的图,显示到屏幕上,红圈之外的都是透明的。而且这个红圈的位置是不固定的。就像照相机的镜头一样,只能看到
镜头内的图像。
不知道这样说大家明白吗??

18

主题

279

帖子

279

积分

中级会员

Rank: 3Rank: 3

积分
279
QQ
发表于 2005-8-23 17:30:00 | 显示全部楼层

Re: 请教:如何利用贴图的alpha混合实现下面的效果

我也来乱发一言 [em10]
实现方法可参看这个帖子第7楼我的做法。
这里要做的是:alpha数组是一个以圆直径为边长的方阵(型如:BYTE alpha[diameter][diameter]; ),在这个方阵中用0xFF填充一个圆,其余部分添0。

另:在圆的边缘不添0xFF,而添一些过度值(沿半径向圆周上衰减),可能更好看。 [em5]

32

主题

1583

帖子

1589

积分

金牌会员

Rank: 6Rank: 6

积分
1589
发表于 2005-8-23 18:48:00 | 显示全部楼层

Re:请教:如何利用贴图的alpha混合实现下面的效果

你是用DDraw吗?
其实多用几个Blt就可以。
先在一个Surface上用颜色A画一个矩形,大小和你的图片相同,再在其上根据你要求的方位用颜色B画一个圆,然后把这个Surface的图像以B为ColorKey,Blt到你储存图片的Surface上,然后再以A位ColorKey把复合后的图像Blt到你想要的地方。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-27 13:38

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表