六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線(xiàn)學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

WINDOWS基于調(diào)色板的圖像消隱

[摘要]圖像漸隱在Windows的多媒體程序設(shè)計(jì)中是一種常用的技術(shù),主要用來(lái)制作程序片頭或者多幅圖像之間的切換等。利用圖像漸隱技術(shù)可以使程序具有動(dòng)畫(huà)效果,從而增添程序的魅力。圖像漸隱實(shí)現(xiàn)的方法很多,例如利用調(diào)色板以及利用光柵映射模式等,而調(diào)色板方法無(wú)疑是其中最快速的一種。需要指出的是,這種方法只能在基于調(diào)...
    圖像漸隱在Windows的多媒體程序設(shè)計(jì)中是一種常用的技術(shù),主要用來(lái)制作程序片頭或者多幅圖像之間的切換等。利用圖像漸隱技術(shù)可以使程序具有動(dòng)畫(huà)效果,從而增添程序的魅力。
圖像漸隱實(shí)現(xiàn)的方法很多,例如利用調(diào)色板以及利用光柵映射模式等,而調(diào)色板方法無(wú)疑是其中最快速的一種。需要指出的是,這種方法只能在基于調(diào)色板的顯示模式下工作。在Windows的顯示模式中,只有256色模式是基于調(diào)色板的,這種模式是多媒體程序經(jīng)常采用的。
    在基于調(diào)色板的256色模式下,當(dāng)一幅圖像顯示時(shí),Windows把圖像的邏輯調(diào)色板載入,并通過(guò)調(diào)色板映射把邏輯調(diào)色板映射到系統(tǒng)調(diào)色板,圖像的每一像素的顯示顏色都映射自系統(tǒng)調(diào)色板的一個(gè)顏色索引值,每個(gè)索引對(duì)應(yīng)一個(gè)24位的RGB全彩色值。當(dāng)系統(tǒng)調(diào)色板改變時(shí),當(dāng)前引用系統(tǒng)調(diào)色板的窗口的像素顏色也隨之改變,而這種改變是系統(tǒng)在硬件刷屏中自動(dòng)完成的,速度極快,這樣就為我們利用調(diào)色板實(shí)現(xiàn)圖像的動(dòng)畫(huà)漸隱提供了引擎。實(shí)際上,利用這種技術(shù)可以實(shí)現(xiàn)多種動(dòng)畫(huà)效果,圖像漸隱只是其中的一種。
    在下面的例子中,首先在窗口的黑色背景上顯示一幅256色的DIB圖像,然后在系統(tǒng)時(shí)鐘消息進(jìn)程中動(dòng)態(tài)地修改圖像的邏輯調(diào)色板的顏色值,使每一個(gè)顏色值逐漸向背景顏色值趨近,漸隱的速度可以用時(shí)鐘的時(shí)間片間隔來(lái)控制。當(dāng)漸隱開(kāi)始時(shí),可以看到整幅圖像逐漸變暗,最后消失在黑色的背景中,整個(gè)過(guò)程十分平滑,就如你在電影片頭中看到的一樣。
本例用Delphi 1.0在Windows 3.2下實(shí)現(xiàn),下面給出程序的主要部分及注釋。

unit Bmp-Disaper;
interface
uses
SysUtils,WinTypes,WinProcs,Messages,Classes,Graphics,Controls,Forms,Dialogs,Ex
tCtrls,StdCtrls;
type
TForm1=class(TForm)
Image1:TImage;{顯示漸隱圖像}
Timer1:TTimer;{時(shí)鐘構(gòu)件}
Panel1:TPanel;{顯示漸隱過(guò)程,已漸隱為背景色的顏色數(shù)}
Button1:TButton;{開(kāi)始漸隱按鈕}
procedure Timer1 Timer(Sender:TObject);{始終控制過(guò)程}
procedure Button1 Click (Sender:TObject);{激發(fā)漸隱過(guò)程}
procedure FormCreate (Sender:TObject);{窗體構(gòu)造過(guò)程}
private
PalDevice:Imteger;{調(diào)色板模式標(biāo)志}
go:integer;{漸隱開(kāi)始標(biāo)志}
pal:arrar[0...255] of TPaletteEntry;{邏輯調(diào)色板}
end;
var
Form1:TForm1;

implementation
{$R *.DFM}
procedure TForm1.Timer1Timer(Sender:TObject);
var
i,n:integer;
begin
if go=1 then{開(kāi)始漸隱}
begin
for i:=0 to 255 do{調(diào)色板顏色值遞減}
begin

pal[i].peFlags:=PC-RESERVED;{調(diào)色板動(dòng)畫(huà)標(biāo)志,一定得這樣設(shè)置}
if pal[i].peRed>0 thenpal[i].peRed:=pal[i].peRed-1;
if pal[i].peGreen>0 thenpal[i].peGreen:=pal[i].peGreen-1;
if pal[i].peBlue>0 thenpal[i].peBlue:=pal[i].peBlue-1;
end;
SetPaletteEntries(Image1.Picture.Bitmap.Palette,0,256,pal);
{設(shè)置新的顏色到DIB調(diào)色板}
RealizePalette(Image1.Picture.Bitmap.Canvas.Handle);
{影射邏輯調(diào)色板到系統(tǒng)硬件調(diào)色板}
{計(jì)算已經(jīng)漸隱消失的顏色數(shù),如全數(shù)完成則終止?jié)u隱過(guò)程,令go=0}
n:=0;
for i:=0 to 255 do
if(pal[i].peRed=0) and (pal[i].peGreen=0) and (pal[i].peBlue=0)
then
n:=n+1
if n=256 then
begin
Panel1.Caption:=’OK’;
go:=0;
end
else
Panel1.Caption:=’n=’+IntToStr(n);
end;
end;
procedure TForm1.Button1Click(Sender:TObject);
begin
GetPaletteEntries(Image1.Pictrue.Bitmap.Palette,0,256,pal);
{獲得DIB圖像的調(diào)色板}
{判斷系統(tǒng)是否是基于調(diào)色板的顯示模式,如果是則開(kāi)始漸隱過(guò)程}
PalDevice:=GetDeviceCaps(Canvas.Handle,RASTERCAPS) and RC-PALETTE;
if(PalDevice>0) the go:=1;
end;
procedure TForm1.FormCreate(Sender:TObject);
begin
Image1.Pictrue.Bitmap.LoadFromFile(’c:\video10\ts.bmp’);
{加載DIB圖像}
end;
end.


主站蜘蛛池模板: 婷婷综合丁香 | 日日爱影院| 一级做a爰片性色毛片小说 一级做a爰片性色毛片思念网 | 欧美亚洲国产日韩 | 日本aa大片在线播放免费看 | 亚洲综合射 | 亚洲黄色官网 | 正在播放麻豆 | 日本中文字幕视频 | 日韩特级毛片免费观看视频 | 中文www新版资源在线 | 欲香欲色| 亚洲视频免费看 | 色狠狠狠狠综合影视 | 日本福利网址 | 色综合中文字幕 | 日韩激情视频 | 四虎免费久久影院 | 天堂网www在线 | 色噜噜狠狠狠狠色综合久不 | 日本综合在线观看 | 日韩中文在线 | 亚洲专区路线一路线二 | 日韩在线成人 | 天天天天天天天操 | 亚洲成a人片 | 一本久久道 | 午夜影视免费观看 | 亚洲欧美精品在线 | 日本在线视频网站www色下载 | 日本中文一二区有码在线观看 | 五级床片全部免费播放 | 色综合天天综合网国产国产人 | 日本亚洲欧美国产日韩ay高清 | 日韩成人邪恶影片 | 日本卡一卡2卡3卡4精品卡无人区 | 手机福利视频 | 午夜精品福利在线 | 亚洲图片 中文字幕 | 五月天堂婷婷 | 午夜视频免费观看 |