游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1076|回复: 0

有人用C#开发游戏吗?问个问题

[复制链接]

7

主题

61

帖子

61

积分

注册会员

Rank: 2

积分
61
发表于 2004-8-17 17:08:00 | 显示全部楼层 |阅读模式
directdraw中Surface.Lock函数返回的是Array是二维数组,是不是对应屏幕上的点啊?

例子:m_Surface是一个已经创建的页面
System.Int32[,] s=(System.Int32[,])m_Surface.Lock(LockFlags.SurfaceMemoryPointer);
int width=m_Surface.SurfaceDescription.Width;
int height=m_Surface.SurfaceDescription.Height;
for (int y =height-1;y>=0;y--)
{
      for (int x=0;x<width;x++)
     {
          int outpixel=(int)s.GetValue(x,y);
     }     
}
发现得到的outpixel有的与图片的象素值相同,有的象素值则不同
图片为8位色图片在窗口模式(真彩32位色)下正常
图片为24位色在窗口模式(真彩32位色)下就不正常了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-8-17 08:59

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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