导航:首页 > 源码编译 > 色板生成算法

色板生成算法

发布时间:2022-04-15 09:30:48

⑴ 请问,用photoshop如何生成当前图片的调色板(.act)文件啊

shift+ctrl+alt存储为WEB格式,然后选择保存图片类型为PNG-8,颜色:8,点击颜色表右边的扩展按钮,储存即可~

⑵ Java 怎么样画调色板、或彩虹、或色谱

RGB的色彩空间下的光谱过渡通常用 "线性插值" 算法实现。
以每个[]代表一个0到255共256步长的周期。
[最高]代表周期内保持255最高值不变,
[最低]代表周期内保持0最低值不变]
[渐强]代表从0到255变化,
[渐弱]代表从255到0变化

整个色谱表示为
=====================
[红最高][红渐弱][红最低][红最低][红渐强][红最高]
[绿渐强][绿最高][绿最高][绿渐弱][绿最低][绿最低]
[蓝最低][蓝最低][蓝渐强][蓝最高][蓝最高][蓝渐弱]
------------------------------------------------------------
红 黄 绿 青 蓝 紫 红
实现周期变化
以上是横向第一排的颜色变化

纵向变化
以第一排的RGB为极值,依次递减
比如纯红色的列
(255,0,0)红色
(254,0,0)

(253,0,0)

....每列递减
(1,0,0)

(0,0,0)黑色

周期小于255采样的,可以按比例缩放。

⑶ 有什么方法可以在C#.net下生成一个自定义的256色调色板(就是0到255每个数都对应一个颜色)

<HTML>
<HEAD>
<META content="text/html; charset=gb2312" http-equiv=Content-Type>

<STYLE type=text/css>
TD {FONT-SIZE: 10.8pt}
BODY {FONT-SIZE: 10.8pt}
BUTTON {WIDTH: 5em}
</STYLE>

<SCRIPT LANGUAGE=JAVASCRIPT SRC="dialog.js"></SCRIPT>

<SCRIPT language=JavaScript>

var sAction = URLParams['action'] ;
var sTitle = "";
var color = "" ;
var oSelection;
var oControl;
var sRangeType;

switch (sAction) {
case "forecolor": // 字体前景色
sTitle = "字体前景色";
oSelection = dialogArguments.eWebEditor.document.selection.createRange();
color = oSelection.queryCommandValue("ForeColor");
if (color) color = N2Color(color);
break;
case "backcolor": // 字体背景色
sTitle = "字体背景色";
oSelection = dialogArguments.eWebEditor.document.selection.createRange();
color = oSelection.queryCommandValue("BackColor");
if (color) color = N2Color(color);
break;
case "bgcolor": // 对象背景色
sTitle = "对象背景色";
oSelection = dialogArguments.eWebEditor.document.selection.createRange();
sRangeType = dialogArguments.eWebEditor.document.selection.type;
if (sRangeType == "Control") {
oControl = GetControl(oSelection, "TABLE");
}else{
oControl = GetParent(oSelection.parentElement());
}
if (oControl) {
switch(oControl.tagName){
case "TD":
sTitle += " - 单元格";
break;
case "TR":
case "TH":
sTitle += " - 表格行";
break;
default:
sTitle += " - 表格";
break;
}
color = oControl.bgColor;
}else{
sTitle += " - 网页";
}
break;
default: // 其它颜色框
if (URLParams['color']){
color = decodeURIComponent(URLParams['color']) ;
}
break;
}

document.write("<TITLE>颜色选择(" + sTitle + ")</TITLE>");

// 默认显示值
if (!color) color = "#000000";

// 返回有背景颜色属性的对象
function GetParent(obj){
while(obj!=null && obj.tagName!="TD" && obj.tagName!="TR" && obj.tagName!="TH" && obj.tagName!="TABLE")
obj=obj.parentElement;
return obj;
}

// 返回标签名的选定控件
function GetControl(obj, sTag){
obj=obj.item(0);
if (obj.tagName==sTag){
return obj;
}
return null;
}

// 数值转为RGB16进制颜色格式
function N2Color(s_Color){
s_Color = s_Color.toString(16);
switch (s_Color.length) {
case 1:
s_Color = "0" + s_Color + "0000";
break;
case 2:
s_Color = s_Color + "0000";
break;
case 3:
s_Color = s_Color.substring(1,3) + "0" + s_Color.substring(0,1) + "00" ;
break;
case 4:
s_Color = s_Color.substring(2,4) + s_Color.substring(0,2) + "00" ;
break;
case 5:
s_Color = s_Color.substring(3,5) + s_Color.substring(1,3) + "0" + s_Color.substring(0,1) ;
break;
case 6:
s_Color = s_Color.substring(4,6) + s_Color.substring(2,4) + s_Color.substring(0,2) ;
break;
default:
s_Color = "";
}
return '#' + s_Color;
}

// 初始值
function InitDocument(){
ShowColor.bgColor = color;
RGB.innerHTML = color;
SelColor.value = color;
}

var SelRGB = color;
var DrRGB = '';
var SelGRAY = '120';

var hexch = new Array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F');

function ToHex(n) {
var h, l;

n = Math.round(n);
l = n % 16;
h = Math.floor((n / 16)) % 16;
return (hexch[h] + hexch[l]);
}

function DoColor(c, l){
var r, g, b;

r = '0x' + c.substring(1, 3);
g = '0x' + c.substring(3, 5);
b = '0x' + c.substring(5, 7);

if(l > 120){
l = l - 120;

r = (r * (120 - l) + 255 * l) / 120;
g = (g * (120 - l) + 255 * l) / 120;
b = (b * (120 - l) + 255 * l) / 120;
}else{
r = (r * l) / 120;
g = (g * l) / 120;
b = (b * l) / 120;
}

return '#' + ToHex(r) + ToHex(g) + ToHex(b);
}

function EndColor(){
var i;

if(DrRGB != SelRGB){
DrRGB = SelRGB;
for(i = 0; i <= 30; i ++)
GrayTable.rows(i).bgColor = DoColor(SelRGB, 240 - i * 8);
}

SelColor.value = DoColor(RGB.innerText, GRAY.innerText);
ShowColor.bgColor = SelColor.value;
}
</SCRIPT>

<SCRIPT event=onclick for=ColorTable language=JavaScript>
SelRGB = event.srcElement.bgColor;
EndColor();
</SCRIPT>

<SCRIPT event=onmouseover for=ColorTable language=JavaScript>
RGB.innerText = event.srcElement.bgColor;
EndColor();
</SCRIPT>

<SCRIPT event=onmouseout for=ColorTable language=JavaScript>
RGB.innerText = SelRGB;
EndColor();
</SCRIPT>

<SCRIPT event=onclick for=GrayTable language=JavaScript>
SelGRAY = event.srcElement.title;
EndColor();
</SCRIPT>

<SCRIPT event=onmouseover for=GrayTable language=JavaScript>
GRAY.innerText = event.srcElement.title;
EndColor();
</SCRIPT>

<SCRIPT event=onmouseout for=GrayTable language=JavaScript>
GRAY.innerText = SelGRAY;
EndColor();
</SCRIPT>

<SCRIPT event=onclick for=Ok language=JavaScript>
color = SelColor.value;
if (!IsColor(color)){
alert('无效的颜色值!');
return;
}

switch (sAction) {
case "forecolor":
dialogArguments.format('ForeColor', color) ;
window.returnValue = null;
break;
case "backcolor":
dialogArguments.format('BackColor', color) ;
window.returnValue = null;
break;
case "bgcolor":
if (oControl){
oControl.bgColor = color;
}else{
dialogArguments.setHTML("<table border=0 cellpadding=0 cellspacing=0 width='100%' height='100%'><tr><td valign=top bgcolor='"+color+"'>"+dialogArguments.getHTML()+"</td></tr></table>");
}
window.returnValue = null;
break;
default:
window.returnValue = color;
break;
}
window.close();
</SCRIPT>

</HEAD>

<BODY bgColor=menu onload="InitDocument()">
<DIV align=center>
<CENTER>
<TABLE border=0 cellPadding=0 cellSpacing=10>
<TBODY>
<TR>
<TD>
<TABLE border=0 cellPadding=0 cellSpacing=0 id=ColorTable style="CURSOR: hand">
<SCRIPT language=JavaScript>
function wc(r, g, b, n){
r = ((r * 16 + r) * 3 * (15 - n) + 0x80 * n) / 15;
g = ((g * 16 + g) * 3 * (15 - n) + 0x80 * n) / 15;
b = ((b * 16 + b) * 3 * (15 - n) + 0x80 * n) / 15;

document.write('<TD BGCOLOR=#' + ToHex(r) + ToHex(g) + ToHex(b) + ' height=8 width=8></TD>');
}

var cnum = new Array(1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0);

for(i = 0; i < 16; i ++){
document.write('<TR>');
for(j = 0; j < 30; j ++){
n1 = j % 5;
n2 = Math.floor(j / 5) * 3;
n3 = n2 + 3;

wc((cnum[n3] * n1 + cnum[n2] * (5 - n1)),
(cnum[n3 + 1] * n1 + cnum[n2 + 1] * (5 - n1)),
(cnum[n3 + 2] * n1 + cnum[n2 + 2] * (5 - n1)), i);
}

document.writeln('</TR>');
}
</SCRIPT>

<TBODY></TBODY></TABLE></TD>
<TD>
<TABLE border=0 cellPadding=0 cellSpacing=0 id=GrayTable style="CURSOR: hand">
<SCRIPT language=JavaScript>
for(i = 255; i >= 0; i -= 8.5)
document.write('<TR BGCOLOR=#' + ToHex(i) + ToHex(i) + ToHex(i) + '><TD TITLE=' + Math.floor(i * 16 / 17) + ' height=4 width=20></TD></TR>');
</SCRIPT>

<TBODY></TBODY></TABLE></TD></TR></TBODY></TABLE></CENTER></DIV>
<DIV align=center>
<CENTER>
<TABLE border=0 cellPadding=0 cellSpacing=10>
<TBODY>
<TR>
<TD align=middle rowSpan=2>选中色彩
<TABLE border=1 cellPadding=0 cellSpacing=0 height=30 id=ShowColor width=40 bgcolor="">
<TBODY>
<TR>
<TD></TD></TR></TBODY></TABLE></TD>
<TD rowSpan=2>基色: <SPAN id=RGB></SPAN><BR>亮度: <SPAN
id=GRAY>120</SPAN><BR>代码: <INPUT id=SelColor size=7 value=""></TD>
<TD><BUTTON id=Ok type=submit>确定</BUTTON></TD></TR>
<TR>
<TD><BUTTON onclick=window.close();>取消</BUTTON></TD></TR></TBODY></TABLE></CENTER></DIV>

</BODY></HTML>

不知道这个符不符合你的要求

⑷ 怎样从一张图片中一次性提取所有颜色生成PhotoShop里的色板

点[文件]-[储存为WEB所用格式]

然后你在打开的窗口右边就会看到颜色表了.!
只有这个方法.

⑸ 如何在PS里通过照片创建色板

选择配色的时候需要考虑的因素很多,并不是挑选你喜欢的颜色就可以轻松搞定。配色的方法很多,但是根据主图来进行配色无疑是最可靠的方法之一,无论你是初级设计师还是资深从业者,这种方法都是不错选择。但是这些方案多是通过算法来进行实现的,要想创造符合自己心意的配色方案,老老实实用PS和照片来创建还是最靠谱的。 选照片 既然是通过图片取色来创建色板,那么肯定要挑选一张漂亮的图片。很多优秀的设计都和品质上乘的图片分不开,这些图片色彩漂亮,并且通常都还为文字和图形留有空间。 取色的四个技巧 当你开始搜集图片的时候,最好尽量搜集色彩较多的图片。注意,色彩多并不是要求你选择万花筒一样的图片,而是希望你选择色彩较多,可以帮你创造更多配色方案的图片。 那么应该从哪里开始呢? 接下来的四条建议,或许可以帮到你。 (1)基础色在打开PS之前,先仔细审视一下你选的照片。 就比如我所选的图片吧,你会从中发现非常惹眼的深青色和棕色,而它们就正好可以用作这套配色的基础色。 假设你在制作一个网页,深青色可用作标题或者背景色,而棕色可应用到段落文字或者引用文字以及其他的装饰元素上。当然,如果文字使用奶白色来显示,与深色背景相互映衬,视觉效果也不错。 2、增加互补色当对互补放在一起的时候可以产生明显的对比和视觉冲击。 确定两种颜色是否是互补色,看它们在色轮上的位置就知道,黄色和蓝色,绿色和红色,它们在色轮上都处于对称的位置。这些互补色通常都是一冷一暖,视觉效果充满活力。 这种配色的关键点在挑选一种颜色作为主色调,并且灵活运用色彩。如此一来,色彩之间有主有次,不会相互冲突。 这张图就是如此,蓝色占据主体,明黄色的树令整个画面更加活泼。如果你需要搭配文字的话,在蓝色的部分配上黄色的字体似乎是个不错的选择。 3、增加衍生色通常你的配色方案中会有两种以上的色彩。 与其新增更多的色彩组合,不如基于现有的一两种颜色,增加同色系的深色或者浅色,来完善配色方案。一套干净的配色方案,基础色通常不会超过3种,再基于这有限的几个主色调来扩充也就够用了。这样做最大的好处就是在色彩不会冲突的前提下,令配色更加丰富。 还是用第一个案例作例子,基于两种基础色,通过增减明度,扩展出四种不同的色彩。色系之间不会冲突,这些色彩也可以合理地搭配到一起。调整明度的增减程度,你可以扩展出更多的色彩。 4、整合 将以上的处理技巧整合起来,配色就更加得心应手了。通过漂亮的图片获取基础色,结合对比色扩充基础色,适当地增删中性色,再通过明度和饱和度调整完成符合你需求的整套色板。完成配色之后,无论你想怎样控制视觉元素的色彩都好说。 好了,接下来我们看看如何完整地借助PS,通过照片取色来完成一套配色方案。 创建色板Step 1 用PS打开你挑选的照片。 Step 2 选择吸管工具(快捷键=I),挑选一个区域取色,作为基础色。单击X,然后选取对应的对比色。在这张图片里,我们选取了深绿色作为基础色,那么它对应的对比色应该是红色,于是我们在图片中选取了红色。 这里的红色并不一定要非常鲜艳明亮,在这里我们选取的红色相对柔和。 Step 3 接下来,我们要为色板创建新文件。不管是PS还是ID,创建好的色板文件都是可以拿来用的。在PS里面新建文档,分辨率800×200像素,采用RGB模式。 Step 4 选择椭圆工具(快捷键=U),绘制任意尺寸的圆形,使用吸管工具取色并为原型填充色彩。现在你可以直接从左侧的工具栏中选取前景色和后景色填充进去。 Step 5 重复第四步,创建圆形并填充互补色。 Step 6 接下来,将互补色的圆形图层复制两份,于是你拥有了四个圆形来容纳不同的颜色。接下来的这两个圆形,一个将填充中性色,一个用来填充基础色的衍生色。 Step 7 回到照片,重复第二步,在图片中选取浅灰色这一中性色,填充到第三个圆形中。 Step 8 最后一个圆形中填充一个基于基础色的衍生色。直接用吸管工具在第一个圆形中取色,确定色系之后,将拾色器上移,选取一个明度较高的绿色。考虑到整个配色风格比较复古,这个绿色明度不能太高,不要太深也不要太浅就差不多了。 Step 9 根据你的习惯,调整四个圆形的位置和色彩顺序。将文件保存为PSD格式以便在其他照片取色时可以跳过创建圆形的步骤,再将文件另存为JPG格式的图片,确保不同的设计软件都能从中取色,调用配色。 结语 配色是设计中最重要的环节之一,学会取色配色,然后养成搜集配色方案的好习惯,将会为你今后的设计有所帮助。

⑹ photoshop 怎么把一张图变为一个ACO或者ACT或者ASE格式的色板

shift+ctrl+alt存储为WEB格式,然后选择保存图片类型为PNG-8,颜色:256,点击颜色表右边的扩展按钮,储存即可~这一次能导出256种颜色,你需要把你的图手动分割一下,分好几次导出。导出之后,使用的时候直接把文件拖到PS色板里即可。

⑺ 有没有RGB转HSV的优化算法

当h为m*3的矩阵时,hsv2rgb是把hsv调色板转换成rgb调色板。 当h为m*n*3的矩阵时,hsv2rgb是把hsv图像转换成rgb图像。 什么是调色板呢?调色板是一个存贮各种颜色值的列表。 这样索引图像只需存贮列表中的索引就可以了,具体的颜色值只需要到颜色

⑻ 苹果电脑怎么解压软件

在平时的工作与日常的生活中,经常会有图片需要压缩或者是改变它大小。比如:文件中插入图片、上传图片、发送图片等,都会限制图片的大小。那么如何压缩图片的大小呢?下面一起来看以下几种图片压缩的方法吧!

以上就是压缩图片大小的几种方法以及操作步骤啦!是不是很简单呢?有需要的小伙伴可以下载上述的软件,使用时可以参看上述的操作步骤。

⑼ 像素格式的格式管

Windows下的调色板:OpenGL可以使用16色、256色、64K和16M真彩色。真彩模式下不需要调色板,而在16色模式下根本不可能得到较为满意的效果,因此对OpenGL而言,调色板只有在256色模式下才有意义。
我们知道,Windows把调色板分为系统调色板和逻辑调色板。每个应用程序都拥有一套自己的逻辑调色板(或使用缺省调色板),当该应用程序拥有键盘输入焦点时可以最多使用从16M种色彩中选取的256种颜色(20种系统保留颜色和236种自由选取的颜色),而失去焦点的应用程序可能会有某些颜色显示不正常。系统调色板由Windows内核来管理,它是由系统保留的20种颜色和经仲裁后各个应用程序设置的颜色组成,并与硬件的256个调色板相对应。应用程序的逻辑调色板与硬件的调色板没有直接的对应关系,而是按照最小误差的原则映射到系统调色板中,因此即使应用程序自由选取256种不同颜色构成自己的逻辑调色板,也有可能某些颜色显示到屏幕上时是一样的。
当应用程序的窗口接收到键盘输入焦点时,Windows会向它发送一条WM_QUERYNEWPALETTE消息,让它设置自己的逻辑调色板,此时Windows会在系统调色板中尽量多地加入该应用程序需要的颜色,并生成相应的映射关系。接着Windows会向系统中所有的覆盖型窗口和顶级窗口(包括拥有键盘输入焦点的窗口)发送一条WM_PALETTECHANGED消息,让它们设置逻辑调色板和重绘客户区,以便能更充分地利用系统调色板,已拥有键盘输入焦点的窗口不应再处理这条消息,以避免出现死循环。 OpenGL的颜色表示与转换:
OpenGL内部用浮点数来表示和处理颜色,红绿蓝和Alpha值这四种成份每种的最大值为1.0,最小值为0.0。在256色模式下,OpenGL把一个像素颜色的内部值按线性关系转换为8比特(Bit)来输出到屏幕上,其中红色占最低位的3比特,绿色占中间的3比特,蓝色占最高位的2比特,Windows将这个8比特值看作逻辑调色板的索引值。例如OpenGL的颜色值(1.0,0.14,0.6667)经过转换后二进制值为10001111(红色为111,绿色为001,蓝色为10),即第143号调色板,该调色板指定的颜色的RGB值应与(1.0,0.14,0.6667)有相同的比率,为(255,36,170),如果不是该值,那么显示出来的颜色就会有误差。 调色板的生成算法:
很明显,OpenGL输出的8比特值中直接表明了颜色的组成,为了使图形显示正常,我们应以线性关系来设置逻辑调色板,使其索引值直接表明颜色的组成。因此生成调色板时,把索引值从低位到高位分成3-3-2共三个部分,将每一部分映射到0-255中去,这样3比特映射为{0,36,73,109,146,182,219,255},2比特映射为{0,85,170,255},最后把三部分组合起来成为一种颜色。
经过上面的处理后,256种颜色均匀分布在颜色空间中,并没有完全包含系统保留的20种颜色(只包含了7种),这意味着将会有数种颜色显示成一样,从而影响效果。一个较好的解决办法是按照最小均方误差的原则把13种系统颜色纳入到逻辑调色板中。
从原理上来说,并非一定要使用线性映射,还可以用其它一些映射关系,如加入Gamma校正以便更能符合人眼的视觉特性,不过这些映射关系应用得并不广泛,在此不再讨论。 像素格式是OpenGL窗口的重要属性,它包括是否使用双缓冲,颜色位数和类型以及深度位数等。像素格式可由Windows系统定义的所谓像素格式描述子结构来定义(PIXELFORMATDESCRIPTOR),该结构定义在windows.h中。
在该结构中包含有26个属性信息,其形式为:
typedef struct tagPIXELFORMATDESCRIPTOR
{
WORD nSize;
WORD nVersion;
DWORD dwFlags;
BYTE iPixelType;
BYTE cColorBits;
BYTE cRedBits;
BYTE cRedShift;
BYTE cGreenBits;
BYTE cGreenShift;
BYTE cBlueBits;
BYTE cBlueShift;
BYTE cAlphaBits;
BYTE cAlphaShift;
BYTE cAccumBits;
BYTE cAccumRedBits;
BYTE cAccumGreenBits;
BYTE cAccumBlueBits;
BYTE cAccumAlphaBits;
BYTE cDepthBits;
BYTE cStencilBits;
BYTE cAuxBuffers;
BYTE iLayerType;
BYTE bReserved;
DWORD dwLayerMask;
DWORD dwVisibleMask;
DWORD dwDamageMask;
} PIXELFORMATDESCRIPTOR;
各变量的含义如下:
nSize:该结构所占内存空间。
nVersion:版本号,当前为1。
dwFlags:指定像素格式属性,可选参量如表1.1所示。 标识符解释
PFD_DRAW_TO_BITMAP 支持内存中绘制位图
PFD_DRAW_TO_WINDOW 支持屏幕绘图
PFD_DOUBLEBUFFER 支持双缓冲
PFD_GENERIC_FORMAT 指定选择GDI支持的像素格式
PFD_NEED_PALETTE 指定需要逻辑调色板
PFD_NEED_SYSTEM_PALETTE 指定需要硬件调色板
PFD_STEREO NT不支持
PFD_SUPPORT_OPENGL 支持OpenGL
PFD_SUPPORT_GDI 支持GDI,此时不可使用PFD_DOUBLEBUFFER
iPixelType:像素颜色模式,可选项为PFD_TYPE_RGBA或PFD_TYPE_INDEX,分别对应于RGBA模式和颜色索引模式。
cColorBits:指定颜色的位数。
cRedBits:采用RGBA模式时,红色组分占用位数。
cRedShift:采用RGBA模式时,红色组分偏移量。
cGreenBits:采用RGBA模式时,绿色组分占用位数。
cGreenShift:采用RGBA模式时,绿色组分偏移量。
cBlueBits:采用RGBA模式时,蓝色组分占用位数。
cBlueShift: 采用RGBA模式时,蓝色组分偏移量。
cAlphaBits:采用RGBA模式时,Alpha组分占用位数。
cAlphaShift:采用RGBA模式时,Alpha组分偏移量。
cAccumBits:指定累积缓冲区表示一个像素所用位数。
cAccumRedBits:指定累积缓冲区表示红色组分占用位数。
cAccumGreenBits:指定累积缓冲区表示绿色组分占用位数。
cAccumBlueBits:指定累积缓冲区表示蓝色组分占用位数。
cAccumAlphaBits:指定累积缓冲区表示Alpha组分占用位数。
cDepthBits:指定深度缓冲区表示一个像素所用位数。
cStencilBits:指定模板缓冲区表示一个像素所用位数。
cAuxBuffers:指定辅助缓冲区,Windows9x、NT不支持。
iLayerType:Windows9x、NT下只能是PFD_MAIN_PLANE。
bReserved:=0。
dwLayerMask:指定覆盖层的屏蔽,Windows9x、NT不支持。
dwVisibleMask:Windows9x、NT不支持。
dwDamageMask:Windows9x、NT不支持。
Windows提供了四个像素格式管理函数,分别介绍如下:
(1) int ChoosePixelFormat(HDC hdc,
PIXELFORMATDESCRIPTOR *ppdf)
该函数比较传过来的像素格式描述和OpenGL支持的像素格式,返回一个最佳匹配的像素格式索引。该索引值可传给SetPixelFormat为DC设置像素格式。返回值为0表示失败。
在比较像素格式时,匹配优先级顺序为像素格式描述子结构中的下述各域:
dwFlags->cColorBits->cAlphaBits->cAccumBits
->cDepthBits->cStencilBits->cAuxBuffers->iLayerType
硬件支持的像素格式优先。
(2) int DescribePixelFormat(HDC hdc, int iPixelFormat, UINT nBytes,
LPPIXELFORMATDESCRIPTOR *ppfd)
该函数用格式索引iPixelFormat说明的像素格式来填写由ppfd所指向的像素格式描述子结构,利用该函数可以枚举像素格式。
(3) int GetPixelFormat(HDC hdc)
该函数用于获取hdc的格式索引。
(4) BOOL SetPixelFormat(HDC hdc, int iPixelFormat,
LPPIXELFORMATDESCRIPTOR *ppfd)
该函数用格式索引iPixelFormat来设置hdc的像素格式。在使用该函数之前应该调用ChoosePixelFormat来获取像素格式索引。另外,OpenGL窗口风格必须包含WS_CLIPCHILDREN和WS_CLIPSIBLINGS类型,否则设置失败。
应该注意的是ChoosePixelFormat函数并不一定返回一个最佳的像素格式值,可以利用DescribePixelFormat来枚举系统所支持的所有像素格式。OpenGL的通常支持24种不同的像素格式,如果系统安装了OpenGL硬件加速器,它可能会支持其它的像素格式。

阅读全文

与色板生成算法相关的资料

热点内容
python的pandas库怎么导入 浏览:720
计算机现在常用的加密方法 浏览:516
工资满月算法 浏览:340
linux开启80端口命令 浏览:116
php银行支付 浏览:816
java内存模型与线程 浏览:73
辽宁存储服务器云空间 浏览:849
程序员看能力还是看学历 浏览:28
查看压缩包格式 浏览:868
android仿微信相册 浏览:881
想换手机没钱有什么app 浏览:873
我的世界里的命令方块 浏览:572
找附近民宿什么app好 浏览:137
什么app能把app移到另一个手机上 浏览:385
车帝下载不了app是什么原因 浏览:953
libpnglinux安装 浏览:971
公交什么app有折扣 浏览:563
模拟器文件夹的文件如何复制出来 浏览:574
pythonsocketlist 浏览:65
为什么和平精英主播都用安卓手机 浏览:768