SDL_SetColors

名字

SDL_SetColors為給出8位表面準備一colormap的部份.

概要

使用
SDL;

功能SDL_SetColors浮出水面:PSDL_Surface;顏色:PSDL_Color;firstcolor:整數;ncolors:整數:整數;

描繪

為給出8位表面準備一colormap的部份.

表面是把表面和目前展示聯繫起來的時候,展示colormap將請求顏色地被更新.如果把SDL_HWPALETTE嵌入SDL_SetVideoMode旗幟, SDL_SetColors將總是歸還1 ,即使窗戶colormap必須是扭曲的或者在仿真下跑步,和調色盤被保證被把放你渴望的方式.

TSDL_Color結構的彩色的成分是在尺寸中8位給你總共2563=16777216顏色.

隨著SDL_HWPALETTE 旗幟Palettized(8位)銀幕表面有二塊調色盤,一塊被用於去/從表面繪製blits的地圖的合乎邏輯調色盤和一塊物理調色盤,(其決定硬體將怎樣把顏色映射到展示)的. SDL_SetColors隨著開始工作 旗幟((SDL_LOGPAL或者 SDL_PHYSPAL)(如果目前),修改兩個調色盤和是等於大聲說出SDL_SetPalette

回程價值

如果表面不是一palettized表面,這個功能什麼也沒做歸還0 .如果全部的顏色如同把傳給SDL_SetColors 那樣,被設定,它將歸還1.如果不所有的彩色的入口準確如同讓步那樣,被設定,它將歸還 0,和你應該看表面調色盤決定真實彩色的調色盤.

例子


//和一塊grayscale調色盤在一起建立一展示表面
銀幕:PSDL_Surface;
顏色:部署TSDL_Color[0..255];
i:整數;
.
.
.
隨著彩色的資訊//填料顏色
可以替代i:=0255
開始
給[i].r:=i著色;
給[i].g:=i著色;
給[i].b:=i著色;
末端;

//建立展示
篩選:=SDL_SetVideoMode((640,480,8,SDL_HWPALETTE);
如果那時(篩選=)
開始

MessageBox 0,PChar格式化不能設定640x480x8影像方式:%s'[,SDL_GetError'],錯誤,MB_OK或者MB_ICONHAND;
停止((-1);
末端;

//固定調色盤
SDL_SetColors((銀幕,顏色,0,256);
.
.
.
.

也注意到

TSDL_Color , TSDL_Surface, SDL_SetPalette, SDL_SetVideoMode