|
|
小弟最近才开始学DirectDraw,正在尝试封装一些简单的函数,但出现了一个问题,就是一些函数在32位色模式下无法正常工作,这些是一些画线,图像淡入淡出的函数,例如
//通过获取ddsd得到表面高度,宽度,像素大小,以及缓冲
for( int i=0; i<SurfaceH; i++)
for(int j=0; j<SurfaceW; j++)
Buf[i*PitchSize+j] = Color;
这是一个将整个表面填充为单色的函数,但如果在32位色下,他只填充屏幕的左一半,其他函数的问题类似(在16位色下可以正常工作)
另外小弟完全不了解32位色,24位色,16位色这些的结构,表示方式等等,以至于到现在一直写不出一个通用的AlphaBlend,谁能给我简单讲讲啊,不胜感激 |
|