游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2867|回复: 6

谁能贴个读写像素的例子?

[复制链接]

18

主题

84

帖子

84

积分

注册会员

Rank: 2

积分
84
发表于 2006-7-26 23:03:00 | 显示全部楼层 |阅读模式
看了站里的教程 的位图操作部分 可惜没有读写像素部分例子

谁能提供一下呀 谢谢了

21

主题

125

帖子

135

积分

注册会员

Rank: 2

积分
135
QQ
发表于 2006-7-27 11:02:00 | 显示全部楼层

Re:谁能贴个读写像素的例子?

加我Q.和你聊着个.
qq:4444163200

21

主题

125

帖子

135

积分

注册会员

Rank: 2

积分
135
QQ
发表于 2006-7-27 11:02:00 | 显示全部楼层

Re:谁能贴个读写像素的例子?

哈哈,不好意思,打错了.QQ是: 444163200

18

主题

84

帖子

84

积分

注册会员

Rank: 2

积分
84
 楼主| 发表于 2006-7-27 21:12:00 | 显示全部楼层

Re:谁能贴个读写像素的例子?

就在这里吧 我不常上qq的
这里也冷清 不会找不到上次讨论的帖子^_^
我没有例子
你有例子吗 贴出来 然后我们讨论解决

21

主题

125

帖子

135

积分

注册会员

Rank: 2

积分
135
QQ
发表于 2006-7-27 22:47:00 | 显示全部楼层

Re:谁能贴个读写像素的例子?

哈.上上Q也不错的哦,可以找到很多网友交流交流.

读去 OpenGL 像素,
1> 你要确定你的窗口绘制大小.这里比方说是: width, height.
2> 建立一个内存空间,用来存放 OpenGL 缓存颜色数据.
     代码: unsigned char *men;
             men = new unsigned char[width*height*3];
3> 拷贝OpenGL 像素进 men 指针空间里.
     代码:  glReadPixels(        0, 0, width, height, GL_RGB, GL_UNSIGNED_BYTE, men);

glReadPixels ()的使用再具体的话,你可以在国外资料中找找看.
这里只是举个例子,我想已经足够理解了.哈哈


那么,接下来的问题就是,怎么操作这个 men 了,
那我再举个例子,这里我要读屏幕中 x,y 位置的颜色,在 men 的哪里呢?
我们这样定义一个颜色结构体:
struct strRGB{
      unsigned char R;
      unsigned char G;
      unsigned char B;
};

strRGB* pt;
pt = (strRGB *)(men+ 3*(x*width + y));

那么颜色就是  
pt->R;
pt->G;
pt->B;

那随便你读取了.就这样.

18

主题

84

帖子

84

积分

注册会员

Rank: 2

积分
84
 楼主| 发表于 2006-7-29 10:41:00 | 显示全部楼层

Re:谁能贴个读写像素的例子?

谢谢
读了以后还要检查效果 也就是写了
我想写也就包括两个方面:
一方面写到窗口某处再显示
另一方面写到一个硬盘图片文件(如bmp、jpg)中

希望楼上继续给出写像素的代码

13

主题

39

帖子

39

积分

注册会员

Rank: 2

积分
39
发表于 2006-8-7 16:40:00 | 显示全部楼层

Re:谁能贴个读写像素的例子?

写比读还简单!
glRasterPos2d(
  GLdouble x,
  GLdouble y
);
这个函数设置光栅的位置,也即你要写像素的地方。
利用这个函数
void glDrawPixels(
  GLsizei width,
  GLsizei height,
  GLenum format,
  GLenum type,
  const GLvoid *pixels
);写像素,参数和读差不多,pixel是开始读的缓村,或是自定义的缓村!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-25 02:29

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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