2010年12月16日 星期四

HW_2

2-1







這個動畫製作感覺很容易,

一開始把圖都加在一起後,


才發覺它的圖像好像是一張一張疊起的,

不過這可以設定動畫的背景透明顏色,


Transparency(透明效果),


而且在Undraw Method(畫面顯示方式)選擇Restore Background(重繪背景),

可以使背景的影像不會重疊顯示。


在每個畫面轉換之間,

Duration(顯示時間)的單位很好玩是百分之一秒,


若我輸入是50,則代表畫面轉換時間間隔著0.5秒。


但有點不是很瞭解的是(調色盤的設定和調色盤的色階),


它與色彩的顯示程度有關?


據說檔案格式為GIF89a的格式,

那89a是具有什麼意義嗎?





2-2



對於用PSpad來讀取GIF的圖檔,

感覺很特別,

因為PSpad是個文字的編輯器,

可能大部分都用在網頁的編碼轉換,

後來才知道還可以利用色階16進位的轉換讀取圖片色彩的狀態。

而且PSpad還有一些滿便利性的地方,

比如有(代碼瀏覽器)可以方便閱讀不同的程式代碼,

包括JAVA、XML、C++...不等,讓使用者更方便。

2-3




這個調色盤雖然有程式碼,

但它還滿難做的,

因為必須瞭解它很多,

我有儘量去弄懂一些,

比較不懂的函數,像是:

fopen()

FILE *imGIF;

打開子目錄中的二進制文件,

imGIF = fopen(OpenDialog1->FileName.c_str(), "rb");

「rb」只讀打開一個二進制文件,只允許讀數據
文件使用方式由六個字符拼成,各字符的含義是:
r(read):

w(write):

a(append):
追加
t(text):
文本文件,可省略不寫
b(banary):
二進制文件
+:
讀和寫
fseak()
fseek(imGIF,0L,SEEK_SET);
fseek(文件類型指針fp,位移量,起始點)
 

起始點

對應的數字

代表的文件位置

SEEK_SET

0

文件開頭

SEEK_CUR

1

文件當前位置

SEEK_END

2

文件末尾

 
 
fread()
fread(GIFHeader,13, 1,imGIF);
fread(buffer,size,count,fp);

buffer:是一個指針,它是讀入數據的存放地址

size:要讀寫的字節數

count:要進行讀寫多少個size字節的數據項

fp:文件型指針


以上這些我比較不懂的函數,
是用來讀取檔案內容,
讓它的色彩資料可以直接讀取顯示出來。

我覺得做這個調色盤還滿難的,
因為大部分的程式都需要瞭解很多,
寫成是就像在解數學式子一樣,
要解決問題要想好的快的解決方法,
當然也必須瞭解很多函數的運用,
想想學程式設計也就是這樣子的吧。

沒有留言:

張貼留言