導航:首頁 > 源碼編譯 > 色板生成演算法

色板生成演算法

發布時間: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硬體加速器,它可能會支持其它的像素格式。

閱讀全文

與色板生成演算法相關的資料

熱點內容
反函數的加法運演算法則 瀏覽:46
微贊直播用的什麼伺服器 瀏覽:542
哪個保皇app可以邀請好友 瀏覽:319
phpredis管理 瀏覽:563
程序員培養基地 瀏覽:674
linux查看bin 瀏覽:874
float賦值java 瀏覽:946
android70字體 瀏覽:941
程序員英文不好行嗎 瀏覽:868
如何使用主機伺服器pdf 瀏覽:701
打開下層文件夾代碼 瀏覽:455
適配平板的app是什麼意思 瀏覽:45
java寫一個方法 瀏覽:682
中原大學php視頻教程 瀏覽:501
沖壓模具設計pdf 瀏覽:690
程序員考哪些證 瀏覽:233
李世民命令薛收為魚作賦 瀏覽:776
阿里雲伺服器2核8g內存 瀏覽:157
phpyii框架開發文檔 瀏覽:994
視頻監控管理伺服器有什麼用 瀏覽:182