颜色的结构问题!菜鸟问题!请教!急! 我想知道,在DOS和WINDOWS下面,屏幕上的点,在内存中存储的时候,是存储成什么结构类型的。在WINDOWS下,我开始采用将CDC类型指针的区域,中选择描述 点结构的地方,但是不知道怎么去查找??有高手给解释吗??就是 例如:位图在内存中,每个象素点的结构是什么???请详细点!谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不同的颜色模式,存储方式是不一样的。一般按照RGB存储,也有的按照BGR存储。有的时候需要存储alpha通道数据,于是就会存储成RGBA。以上的存储结构描述,没一个字母代表一个字节。============================================================================提问题时标题要简明扼要地说明问题内容,切忌使用"急","求救"之类不能说明问题的标题http://www.betajin.com/alphasun/index.htm 给我发信息请附带原帖地址http://alphasun.18en.com/ http://shakingtoolkit.9126.com/DocWizard C++程序文档自动生成工具 | Wave OpenGL | HttpProxy | AjaxParser词法分析 所谓的"555"和"565"。我们经常用16位色,但16除3不是整数,那么要各用多少位来表示红、绿、蓝呢?有的显卡是三种颜色各用5位,即0rrrrrgggggbbbbb,被称为"555"。但其它显卡用rrrrrggggggbbbbb的形式来表示这三种颜色,因为人眼对绿色更敏感,这就是"565"。所以如果你初始化时把屏幕置为16位色,填色时就不能用RGB( )了(但设置透明色时仍可),要写一段程序来判断显卡是"555"还是"565"再自己根据情况转换颜色。 谢谢各位:,那么我不防说明一下在下的用意.双缓冲的时候,建立一个内存的设备描述表CDC对象(或指针),然后在拷贝到屏幕的描述表上显示.我想完成的操作是在 一个堆上开辟一片内存,然后通过对每个结构点进行赋值,然后再拷贝到屏幕的描述表区域,然后显示.如果使用SetPixelV这个函数,对点进行着色,如果点很多的时候,会处理的很慢,最好是只有一次操作,然后把内存区域直接拷贝过去.这样的显示速度是不是会很快?仿佛位图被加载到内存中后,在内存中位图的每个对应屏幕象素点颜色 的信息是什么 ?在下只需要处理16色情况就可以了.非常感谢!因为这个问题对在下很着急.学校因为非典封校,我的电脑都在校外,每个礼拜,只有周末才能外出一段时间,所以,想明天的时候能知道答案!非常感谢,各位! CDC对于图形图形处理的功能很弱。你的功能最好是使用DirectX的二维部分。 不是吧?我做这个东西的时候,就是想用纯CDC来处理的,而不去采用D3D或OPENGL。真的没有办法吗? 如果是在内存设备环境下调用SetPixelV(),应该对速度影响不大。 你用BitBlt一次性把内存DC拷贝到窗口DC就是了何苦一个点一个点的拷 但是我要着色,只能一个点一个点着色啊!我在用 火焰算法 做火焰文字的。对了,还碰到这样一个好不理解的问题。我定义了一个CTXTFIRE类,里面的unsigned char型的指针,在构造的时候动态开辟一片内存,可是删除的时候,老是提示我出错。代码如下:FireScreen是该类的私有成员类型unsigned char *;FireScreen=new unsigned char[FireWidth * FireHeight] ;该语句在构造函数里void CFire::FreeFire(){ m_hDC=NULL; if(FireScreen !=NULL ) delete[] FireScreen; flag=FALSE;}我在程序结束的时候调用freeFIRE但怎么都提示我出错! CDC速度慢很有可能的。如果你非得使用CDC的话,那你可以操纵BMP位图,直接在内存上绘制位图,然后把为图绘制到CDC上 我也是这么想的,现在碰到这样一个问题:http://expert.csdn.net/Expert/topic/1738/1738631.xml?temp=.7843134 m_hWnd 是个啥? CGridCrtl的问题 时间紧迫 希望大家可以帮帮忙 求助:自动释放对象 多线程造成的内存泄漏问题,求解! 根据屏幕某点,获取当前屏幕 邮件发送的问题 mfc求助!使用getMessage函数之后不能正确进入定时函数OnTimer。。 MFC单文档程序,如何让菜单的大小变大一点 关于win9X启动 请问在VC++ 6.0 DEVELOP STUDIO中如何在一个C++(MFC EXE)项目文件中的类中添加一个ACTIVEX控件,如MSCOMM32,而不是在资源编辑器中。 谁有讲com的好书下载?
有的时候需要存储alpha通道数据,于是就会存储成RGBA。以上的存储结构描述,没一个字母代表一个字节。============================================================================
提问题时标题要简明扼要地说明问题内容,切忌使用"急","求救"之类不能说明问题的标题
http://www.betajin.com/alphasun/index.htm 给我发信息请附带原帖地址
http://alphasun.18en.com/ http://shakingtoolkit.9126.com/
DocWizard C++程序文档自动生成工具 | Wave OpenGL | HttpProxy | AjaxParser词法分析
如果使用SetPixelV这个函数,对点进行着色,如果点很多的时候,会处理的很慢,最好是只有一次操作,然后把内存区域直接拷贝过去.这样的显示速度是不是会很快?仿佛位图被加载到内存中后,在内存中位图的每个对应屏幕象素点颜色 的信息是什么 ?
在下只需要处理16色情况就可以了.非常感谢!因为这个问题对在下很着急.学校因为非典封校,我的电脑都在校外,每个礼拜,只有周末才能外出一段时间,所以,想明天的时候能知道答案!非常感谢,各位!
何苦一个点一个点的拷
我在用 火焰算法 做火焰文字的。对了,还碰到这样一个好不理解的问题。我定义了一个CTXTFIRE类,里面的unsigned char型的指针,在构造的时候动态开辟一片内存,
可是删除的时候,老是提示我出错。代码如下:
FireScreen是该类的私有成员类型unsigned char *;FireScreen=new unsigned char[FireWidth * FireHeight] ;
该语句在构造函数里
void CFire::FreeFire()
{
m_hDC=NULL; if(FireScreen !=NULL )
delete[] FireScreen; flag=FALSE;
}我在程序结束的时候调用freeFIRE但怎么都提示我出错!
如果你非得使用CDC的话,那你可以操纵BMP位图,直接在内存上绘制位图,然后把为图绘制到CDC上
http://expert.csdn.net/Expert/topic/1738/1738631.xml?temp=.7843134