游戏开发论坛

 找回密码
 立即注册
搜索
12
返回列表 发新帖
楼主: sandy_zc_1

请教:DDraw中如何实现对图形的位操作?

[复制链接]

0

主题

4

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2004-9-17 22:34:00 | 显示全部楼层

Re:请教:DDraw中如何实现对图形的位操作?

你所说的位操作是想直接写显存吗?DDraw有这个功能,只要用一个无符号的整形数组指向VRAM,在LOCK和UNLOCK之间进行赋值操作就可以了。具体步骤:
1、建立一个DDSURFACEDESC2类型对象
2、初始化(分配内存、告诉大小就可以了)
3、LOCK(这个怎么调用我就不多说了,自己看sdk就行了)
4、把这个对象的成员  .lpSurface的地址赋给无符号整形数组
5、按照你的XY坐标给数组赋颜色值就行了,这时候要注意你所采用的颜色的问题,比如256色,就要赋给内存地址查色表的索引值,而16位、24位、32位则需要赋给真正的颜色,我想你应该知道怎么计算内存吧,16位需要两个字节,24位3个,32位4个,所以赋值的时候你一定要注意!记住内存是线性的哦
6、UNLOCK
大概就是这样的吧,如果有什么问题留言,我再给你写的详细一点,最近比较忙,不好意思啊
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-8-20 16:47

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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