关于IDirectDrawPalette::SetEntries函数

dongqings001 2009-03-25 12:55:34
IDirectDrawPalette::SetEntries书上说该函数来改变 DirectDrawPalette 对象的入口的,什么是DirectDrawPalette 入口呀,是颜色的索引值么?还用每个参数的作用和设置,详细点,谢谢了
...全文
263 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
qingmeisu2009 2010-09-20
  • 打赏
  • 举报
回复
留着以后看
dongqings001 2009-03-31
  • 打赏
  • 举报
回复
还是不太明白,我知道当载入一个位图时要用SetEntries这个函数把该位图的调色版信息更新一下,但还是不明白DirectDrawPalette 入口,打个比方举个例子说说好么,谢谢了
shhpj11 2009-03-26
  • 打赏
  • 举报
回复
ding
hndth 2009-03-26
  • 打赏
  • 举报
回复
ding
zzz822163 2009-03-26
  • 打赏
  • 举报
回复
网上有个directdraw中文手册,可以去弄来看看
zzz822163 2009-03-26
  • 打赏
  • 举报
回复
What Are Palettes?
基于调色板的页面需要调色板才能真正有意义的显示出来.一个基于调色板的页面,通常也被称作一个"色彩索引"页面,仅仅是一些数字的集合,其中的每一个数字代表一个像素.每一个数字的值都对应于一个色彩表(color table)中的项,这个表告诉 DirectDraw 对这个像素使用什么样的颜色. DirectDrawPalette 对象,通常简称为"调色板",给你提供了一个及其方便的途径来管理调色板.那些使用16位或更高位像素格式的页面并不使用调色板.

提供 DirectDrawPalette 对象是为了拥有直接操作 16 和 256 色调色板的特性(一个 DirectDrawPalette 对象通常与一个 DirectDrawSurface 对象相依属).一个 DirectDrawPalette 对象保留了一个从 0 到 255 的 256 色调色板的入口;它不保留 16 色调色板的任何入口.它允许直接对色彩表(color table)的直接操作.一个色彩表是一系列颜色值(典型的是 RGB 三个一组).这个表可以包含 16 或 24 位的 RGB 色彩入口,代表与每一个索引相对应的颜色.对 16 色调色板来说,色彩表可以包含另一个 256 色调色板的索引.调色板被材质图,离屏页面(off-screen surfaces),覆盖页面(overlay surfaces)所支持,它们并不需要与主页面(primary surface)拥有同样的调色板.

你可以通过调用 IDirectDraw4::CreatePalette 函数来创建一个调色板.该函数将返回一个指向 IdirectDrawPalette 接口的调色板对象的指针.你可以使用该接口的函数来操作调色板入口,获得关于调色板对象能力的信息,或初始化该对象(如果你用 CoCreateInstance 函数创建它).

你可以通过调用 IDirectDrawSurface4::SetPalette 函数将一个调色板连接到一个页面上.一个调色板可以被连接到若干个页面.

DirectDrawPalette 对象为一个 8 位的调色板保留了从 0 到 255 的入口,除非你指定了 DDPCAPS_ALLOW256 标志请求所有这些入口都可以被你所用.

通过调用 IDirectDrawPalette::GetEntries, 应用程序可以获得这些表的入口,并且可以通过 IDirectDrawPalette::SetEntries 改变这些入口.这个函数有一个 dwFlags 参数,指定对于调色板的改动是否立即生效.

IDirectDrawPalette::SetEntries
该函数立即改变一个 DirectDrawPalette 对象的调色板入口。

HRESULT SetEntries(
DWORD dwFlags,
DWORD dwStartingEntry,
DWORD dwCount,
LPPALETTEENTRY lpEntries
);

参数
dwFlags
该参数目前未用,必须设为0。
dwStartingEntry
要改变的第一个调色板入口。
dwCount
要改变的调色板入口个数。
lpEntries
调色板入口的地址。如果给调色板设置了 DDPCAPS_8BITENTRIES 标志(为索引调色板),则每个入口为1字节,其余类型调色板的每个入口为4字节。其内容为颜色值的描述。
dongqings001 2009-03-25
  • 打赏
  • 举报
回复
这个问题这么难呀,没人会????

19,464

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧