成品(點擊才會動)
圖片有點難找,要GIF檔 大小又要一樣,真的不好找。
所以我後來用小畫家自己畫!!本來我是想用自己寫的軟體來畫,後來發現我的軟體只提供BMP檔,所以我來是用小畫家畫。 一個好的動畫並不容易!!因為每一個小細節 or 一個小動作,有可能就要再新增一張圖片。所以一個動畫其實是需要有很多很多張圖片製作而成,如果圖片不夠多,做起來就不像動畫,而只是一張張圖片在那裏轉換。我的製作過程
我是先畫好2張底圖,在來每張圖檔都用這2張當背景,作其中的變化。
GIF分析:
調色盤:
心得:
其實我們可以從這個字做的軟體來知道 關於一張GIF圖的 檔頭資料,我們都可以將他們讀出來。
不過...前提是你要先知道GIF裡面內容是如何設計,哪幾個Byte是在做什麼,這樣我們才能用fread把他們都讀出來。
fopen: 語法: int fopen(string filename, string mode);
返回值: 整數
函數種類: 文件存取
字符串參數 mode 可以是下列的情形:
'r' 開文件方式為只讀,文件指針指到開始處。
'r+' 開文件方式為可讀寫,文件指針指到開始處。
'w' 開文件方式為寫入,文件指針指到開始處,并將原文件的長度設為 0。若文件不存在,則建立新文件。
w+' 開文件方式為可讀寫,文件指針指到開始處,并將原文件的長度設為 0。若文件不存在,則建立新文件。
'a' 開文件方式為寫入,文件指針指到文件最后。若文件不存在,則建立新文件。
'a+' 開文件方式為可讀寫,文件指針指到文件最后。若文件不存在,則建立新文件。
'b' 若操作系統的文字及二進位文件不同,則可以用此參數,UNIX 系統不需要使用本參數。
fread:
語法: string fread(int fp, int length);
返回值: 字符串
函數種類: 文件存取
內容說明
本函數讀到指定長度的位組或到文件尾 EOF。
fseek:
語法: int fseek(int fp, int offset);
返回值: 整數
函數種類: 文件存取
內容說明
本函數將文件 fp 的指針移到指定的偏移位 (offset) 上。使用本函數就像 C 語言中的 fseek(fp, offset, SEEK_SET) 函數。成功則返回 0,失敗則返回 -1 值。當 fp 由 fopen() 打開 "http://...." 或是 "ftp://...." 等 URL 文件時,本函數無法作用。
沒有留言:
張貼留言