亚洲免费人人妻人人,cao78在线视频,福建一级毛片,91精品视频免费观看,高清另类图片操逼,日本特黄特色大片免费看,超碰欧美人人澡曰曰澡夜夜泛

FLIC動(dòng)畫文件的播放程序設(shè)計(jì)

時(shí)間:2023-05-01 08:08:29 計(jì)算機(jī)論文 我要投稿
  • 相關(guān)推薦

FLIC動(dòng)畫文件的播放程序設(shè)計(jì)

改調(diào)色的相應(yīng)的RGB值。

通常FLIC圖像文件的頭一幀的第一塊數(shù)據(jù)便是該類型(或0BH類塊)。在程序設(shè)計(jì)中我們定義了一個(gè)256色的調(diào)色板數(shù)組:

char palette[768];

用于完成調(diào)色板的初始化工作。

2.類型07H

該類型數(shù)據(jù)以字節(jié)為基礎(chǔ),只適用于.FLC文件,處理對(duì)第一幀圖像的改變情況較為適用。它含有本幀圖像對(duì)于上與幀圖像的改變部分。

這種塊類型是一種最常用的、最復(fù)雜的塊類型,一般除了第一幀外后面的各幀通常采用這種塊類型進(jìn)行行數(shù)據(jù)壓縮存儲(chǔ)。它的描述如下:

字節(jié)含義

(1)第一個(gè)字:需要改變的行的數(shù)量

(2)第二個(gè)字開始:是具體需要改變的數(shù)據(jù)本身。每一行是進(jìn)行單獨(dú)的壓縮的,這種技術(shù)的采用大大壓縮了.FLC文件長(zhǎng)度。它的具體定義為:可選字、小塊數(shù)及小塊的值。①可選字:

當(dāng)高位=11時(shí),低位部分為跳行數(shù)。該字可以有多個(gè),其跳行數(shù)相加。當(dāng)高位=10時(shí),低位部分內(nèi)容為當(dāng)前行的最后一個(gè)字節(jié)。(作為本行的結(jié)束標(biāo)志)。②小塊數(shù):當(dāng)高位=00時(shí),此字表示小塊數(shù)的值。③小塊:第一個(gè)字節(jié):跳列數(shù)。第二個(gè)字節(jié):小塊類型:當(dāng)該值為正時(shí):表示要從塊中搬到圖像中的像素(字)個(gè)數(shù)N,其后就是N個(gè)連續(xù)的像素?cái)?shù)據(jù);當(dāng)該值為負(fù)時(shí):它的絕對(duì)值N表示要重復(fù)從塊中搬到圖像中的像素(字)的次數(shù),其后就是那個(gè)像素的數(shù)據(jù)

。第三個(gè)字節(jié):塊中的圖像數(shù)據(jù)(字)。

3.類型0BH

與類型04H類似,它與VGA的13H模式相匹配。

4.類型0CH

與類型07H類似,但它以字節(jié)為基礎(chǔ),通常用于.FLI文件

字節(jié)含義

(1)第一個(gè)字:從屏幕上方開始和上一幀相同的行數(shù)即本幀中第一行要改變的行號(hào)。例如:如果有一個(gè)改變(運(yùn)動(dòng))僅僅只是在屏幕的底部,那么此時(shí)該字值為199(VGA320×200)。

(2)第二個(gè)字:需要改變的行的數(shù)量。

(3)第三個(gè)字以后:是具體需要改變的數(shù)據(jù)本身。每一行是進(jìn)行單獨(dú)的壓縮的,這種技術(shù)的采用大大壓縮了.FIC文件長(zhǎng)度。它的具體定義為:小塊數(shù)及塊的值。

①小塊數(shù):此字表示小塊的個(gè)數(shù)值,它是本行中含有小塊的個(gè)數(shù)。當(dāng)小塊數(shù)=0時(shí),說明本行和上一行相同,不用進(jìn)行重新處理。

②小塊:第一個(gè)字節(jié):跳列數(shù)。第二個(gè)字節(jié):小塊類型:當(dāng)該值為正時(shí):表示要從塊中搬到圖像中的像素(字節(jié))個(gè)數(shù)N,其后就是N個(gè)連續(xù)的像素?cái)?shù)據(jù);當(dāng)該值為負(fù)時(shí):它的絕對(duì)值N表示要重復(fù)從塊中搬到圖像中的像素(字節(jié))的次數(shù),其后就是那個(gè)像素的數(shù)據(jù)。第三個(gè)字節(jié):

塊中的圖像數(shù)據(jù)。

5.類型0DH

該類型沒有數(shù)據(jù),該幀的所有像素值都為0。在實(shí)際應(yīng)用中通常它只產(chǎn)生在當(dāng)用戶使用3DS創(chuàng)建一個(gè)新的FLIC文件中的第一幀。

6.類型0FH

該類型用于壓縮圖像,通常只用于第一幀。它采用了Run-Length壓縮方法。該方法與類型07H及0CH中的行數(shù)據(jù)壓縮方法是相似的。只是在該方法中正負(fù)號(hào)的定義與類型07H和0CH恰好相反。

字節(jié)含義

(1)第一字節(jié) 本行中小塊數(shù)。

(2)第二字節(jié) 小塊的具體內(nèi)容。

①第一字節(jié):小塊類型:當(dāng)該值為負(fù)時(shí):它的絕對(duì)值表示要搬到圖像中的像素(字節(jié))個(gè)數(shù),其后就是數(shù)據(jù);當(dāng)該值為正時(shí),表示要將下一個(gè)像素復(fù)制到圖像中的次數(shù),該像素(字節(jié))緊隨其后。

②第二個(gè)字節(jié):塊中的圖像數(shù)據(jù)。

7.類型10H

這種類型不進(jìn)行壓縮,塊中的數(shù)據(jù)個(gè)數(shù)一定為圖像的長(zhǎng)寬相乘。這種類型在實(shí)際應(yīng)用中一般不用。

下面具體討論播放程序的C語(yǔ)言程序設(shè)計(jì)方法,本文中的程序是針對(duì).FLI格式的動(dòng)畫文件而進(jìn)行的程序設(shè)計(jì)。讀者如果要播放.FIC格式的動(dòng)畫文件,只需根據(jù).FIC文件格式的具體定義,并參照下面的程序設(shè)計(jì)方法即可設(shè)計(jì)出相應(yīng)的程序。

四、程序設(shè)計(jì)

1.第一幀圖像的播放程序

void First-Frame (Video-Mem, fli-fp)

char *Video-Mem;

FILE *fli-fp;

{

int Line-PacketNumber

int Size-Count=0

int Screen-Char;

long Sereen-Count=0L;

memset(Video-Mem, 0,60000);

do {

Line-PacketNumber=fgetc(fli-fp);

while(Line-PacketNumber--)

{

Size-Count=fgetc(fli-fp);

if ( (Size-COUNT & 0X80)==0X80

{

Size-Co

[1] [2] [3] 

【FLIC動(dòng)畫文件的播放程序設(shè)計(jì)】相關(guān)文章:

什么是變速播放04-26

什么是播放時(shí)間04-26

什么是播放時(shí)間04-26

什么是播放時(shí)間04-26

什么是播放時(shí)間04-26

什么是支持播放格式04-26

什么是音頻播放格式04-26

什么是播放錄制功能04-26

聲音出現(xiàn)播放間斷11-29

森林防火語(yǔ)音播放稿03-09