游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1726|回复: 3

DirectDraw绘图问题,请大家帮帮忙

[复制链接]

30

主题

146

帖子

152

积分

注册会员

Rank: 2

积分
152
发表于 2007-3-26 10:07:00 | 显示全部楼层 |阅读模式
我有一张png图,带Alpha通道的,我想用DirectDraw绘出来。但是有Alpha的地方没办法和背景混合在一起,只能是一大圈白边(应该说近似白色)。请问要怎么办啊?
听过D3D可以的,不知道用D3D做2D是不是和用DirectDraw一样方便。推荐几本用D3D做2D的书吧,谢谢了!

362

主题

3023

帖子

3553

积分

论坛元老

Rank: 8Rank: 8

积分
3553
发表于 2007-3-27 13:40:00 | 显示全部楼层

Re:DirectDraw绘图问题,请大家帮帮忙

首先我要说,各种2d软件会把图像的边缘做平滑处理,但这会改变图像中的的透明色。
造成在游戏中的“恶心边缘”。
如果你仔细观察2d游戏截图,会发现,他们的图像边缘都人为地描了一道黑边。

或者,用Alpha混合,必须要用Alpha通道而不是alpha值。用一段代码就可以。

目的地 = ((目的地 - 源) * alpha + 源)& 255

在每个 r,g,b通道上做这个即可。

6

主题

307

帖子

309

积分

中级会员

Rank: 3Rank: 3

积分
309
发表于 2007-3-27 15:24:00 | 显示全部楼层

Re:DirectDraw绘图问题,请大家帮帮忙

DDraw不支持Alpha,你认命吧

362

主题

3023

帖子

3553

积分

论坛元老

Rank: 8Rank: 8

积分
3553
发表于 2007-3-29 17:42:00 | 显示全部楼层

Re:DirectDraw绘图问题,请大家帮帮忙

用“Lock”会更快。用gdi太慢。但是Lock会很麻烦。需要为不同的色深写不同的代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-4-13 00:37

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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