游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2151|回复: 4

怎样画一个像素?

[复制链接]

201

主题

1437

帖子

1963

积分

金牌会员

Rank: 6Rank: 6

积分
1963
QQ
发表于 2004-5-16 20:22:00 | 显示全部楼层 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽

9

主题

31

帖子

31

积分

注册会员

Rank: 2

积分
31
发表于 2004-5-16 21:20:00 | 显示全部楼层

Re:怎样画一个像素?

我想应该是锁定一个页面,然后将XY座标转换成地址后,直接写内存,这样应该比较快吧!

1万

主题

1万

帖子

2万

积分

管理员

中级会员

Rank: 9Rank: 9Rank: 9

积分
20527
发表于 2004-5-17 01:09:00 | 显示全部楼层

Re:怎样画一个像素?

首先获取图形数据缓冲指针,这个就看你的图像如何组织,比如你用了DDraw,那可以通过Surface的Lock来获取。

图像在内存中表示基本上是线性(除非矢量等特殊情况),只要我们能够获得图像的起始地址,我们就可以来进行绘制象素点。

buffer[ x + y * width ] = color

x,y就不用多说了,width是图像宽,如果是DDraw的Surface,要注意Pitch,这个是DDraw用来做数据对齐的不足部分,必须考虑并才与计算width=width+Pitch,color就是颜色了,这里仅仅是简单的模型,根据具体情况进行扩展。

补充:要注意象素点的bit数。

201

主题

1437

帖子

1963

积分

金牌会员

Rank: 6Rank: 6

积分
1963
QQ
 楼主| 发表于 2004-5-17 11:29:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

6

主题

12

帖子

14

积分

新手上路

Rank: 1

积分
14
发表于 2004-5-17 19:42:00 | 显示全部楼层

Re: 怎样画一个像素?

如果是16位色,那么像素是怎么计算?望赐教!!!
[em24]
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-7-1 01:23

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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