這個動畫製作感覺很容易,
一開始把圖都加在一起後,
才發覺它的圖像好像是一張一張疊起的,
不過這可以設定動畫的背景透明顏色,
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:文件型指針
以上這些我比較不懂的函數,
是用來讀取檔案內容,
讓它的色彩資料可以直接讀取顯示出來。
我覺得做這個調色盤還滿難的,
因為大部分的程式都需要瞭解很多,
寫成是就像在解數學式子一樣,
要解決問題要想好的快的解決方法,
當然也必須瞭解很多函數的運用,
想想學程式設計也就是這樣子的吧。
沒有留言:
張貼留言