 |
点击数: 更新时间:2008-9-12 13:21:23 |
|
|
请帮我看看这个问题啊 我从摄像头可以得到 MEDIASUBTYPE_RGB1 2色,每个像素用1位表示,需要调色板 MEDIASUBTYPE_RGB4 16色,每个像素用4位表示,需要调色板 MEDIASUBTYPE_RGB8 256色,每个像素用8位表示,需要调色板 MEDIASUBTYPE_RGB565 每个像素用16位表示,RGB分量分别使用5位、6位、5位 MEDIASUBTYPE_RGB555 每个像素用16位表示,RGB分量都使用5位(剩下的1位不用) MEDIASUBTYPE_RGB24 每个像素用24位表示,RGB分量各使用8位 MEDIASUBTYPE_RGB32 每个像素用32位表示,RGB分量各使用8位(剩下的8位不用) MEDIASUBTYPE_ARGB32 每个像素用32位表示,RGB分量各使用8位(剩下的8位用于表示Alpha通道值) 游戏引擎需要的是 D3DFMT_ARGB32(D3DFMT_A8R8G8B8) 1: MEDIASUBTYPE_ARGB32 和 D3DFMT_ARGB32 是不是一样的? 2: 如果不是一样的 我的摄像头最好选 MEDIASUBTYPE_RGB1 2色,每个像素用1位表示,需要调色板 MEDIASUBTYPE_RGB4 16色,每个像素用4位表示,需要调色板 MEDIASUBTYPE_RGB8 256色,每个像素用8位表示,需要调色板 MEDIASUBTYPE_RGB565 每个像素用16位表示,RGB分量分别使用5位、6位、5位 MEDIASUBTYPE_RGB555 每个像素用16位表示,RGB分量都使用5位(剩下的1位不用) MEDIASUBTYPE_RGB24 每个像素用24位表示,RGB分量各使用8位 MEDIASUBTYPE_RGB32 每个像素用32位表示,RGB分量各使用8位(剩下的8位不用) MEDIASUBTYPE_ARGB32 每个像素用32位表示,RGB分量各使用8位(剩下的8位用于表示Alpha通道值) 中的哪一个? 3: 怎么转换为 D3DFMT_ARGB32 ? 谢谢!
这个问题第1个回答:
应该不用转换,用MEDIASUBTYPE_ARGB32,32位位图的格式就是8位alpha,8位R,8位G,8位B
这个问题第2个回答:
谢谢大哥 好象不行 我显示出来,都是乱的!
这个问题第3个回答:
//MEDIASUBTYPE_ARGB32; A8 在最后面 //D3DFMT_A8R8G8B8 A8 在最前面 现在 BYTE * pBuffer; pSample->GetPointer(&pBuffer); //得到数据 long lBufferSize = pSample->GetSize(); //长度 //-------把MEDIASUBTYPE_ARGB32格式转换为D3DFMT_A8R8G8B8-------------------------- BYTE * pBuffer2; pBuffer2 = new BYTE[lBufferSize]; //那么就是把 pBuffer 的 第 4 个,拿到 pBuffer2 的第一个 for(int i = 0; i < lBufferSize; i ++) { } //---------把MEDIASUBTYPE_ARGB32格式转换为D3DFMT_A8R8G8B8-------------------------- 这样的,用程序怎么才能表达出来? 谢谢!
|
|
|
|
|
|