游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2747|回复: 7

如何解决小图显示时带毛刺的问题

[复制链接]

64

主题

146

帖子

146

积分

注册会员

Rank: 2

积分
146
发表于 2005-11-30 07:10:00 | 显示全部楼层 |阅读模式
我用 win32 api 写程序时发现,如果在游戏中显示bmp图是,图片边缘就会带些毛刺,看上去很不好看,我用的是透明显示图片的办法 TransparentBlt ,我应该如何解决这个问题呢?

64

主题

855

帖子

856

积分

高级会员

Rank: 4

积分
856
QQ
发表于 2005-11-30 09:26:00 | 显示全部楼层

Re:如何解决小图显示时带毛刺的问题

如果用普通的ColorKey方式Blt或者Win32API的TransparentBlt,是无法消除锯齿的,消除锯齿只能是对轮廓边缘做Alpha羽化。DDraw下用逐像素方法计算,效率不高;D3D下可以对ARGB的纹理的A通道指定不同的Alpha值实现轮廓羽化,效率高

64

主题

146

帖子

146

积分

注册会员

Rank: 2

积分
146
 楼主| 发表于 2005-11-30 10:20:00 | 显示全部楼层

Re:如何解决小图显示时带毛刺的问题

我的程序没有使用DirectX,如果我只对BMP图片的边缘做羽化处理,能否会消除锯齿呢?

64

主题

855

帖子

856

积分

高级会员

Rank: 4

积分
856
QQ
发表于 2005-11-30 11:09:00 | 显示全部楼层

Re:如何解决小图显示时带毛刺的问题

如果用PhotoShop的羽化功能处理图片轮廓,那样是达不到要求的,除非你的整个游戏屏幕背景只是一块纯色,且这个颜色=图片的ColorKey,这种情况下,又根本不用TransparentBlt了。

64

主题

146

帖子

146

积分

注册会员

Rank: 2

积分
146
 楼主| 发表于 2005-11-30 11:13:00 | 显示全部楼层

Re:如何解决小图显示时带毛刺的问题

那就没有办法了吗?

64

主题

146

帖子

146

积分

注册会员

Rank: 2

积分
146
 楼主| 发表于 2005-11-30 11:21:00 | 显示全部楼层

Re:如何解决小图显示时带毛刺的问题

这个是我的游戏 http://www.skycn.com/soft/21694.html ,其中炸弹就是所要解决的问题,因为在这个版本中的背景图我使用了浅色,所以不太明显,在下个版本中的背景我要使用深色的背景图片(比较养眼),所以急于解决。

64

主题

855

帖子

856

积分

高级会员

Rank: 4

积分
856
QQ
发表于 2005-11-30 13:11:00 | 显示全部楼层

Re:如何解决小图显示时带毛刺的问题

你那个好像是炸弹图片的背景色没有处理干净的缘故,背景有杂色,杂色和背景颜色比较接近,在PhotoShop里仔细检查处理一下就好了,另外不要用JPG等有损压缩格式保存需要抠边的图片,也会导致杂色的

64

主题

146

帖子

146

积分

注册会员

Rank: 2

积分
146
 楼主| 发表于 2005-11-30 16:36:00 | 显示全部楼层

Re:如何解决小图显示时带毛刺的问题

我用PHOTOSHOP处理了一下边缘的杂色,问题得到了解决,非常感谢你的帮助。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-22 19:42

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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