神奇力量報_「原始樂園計數器-實作經驗」

  基本上,個人在技術這塊領域比較不屬於技術本位,只要可以
快速完成應用,不管什麼語言、平台完成的,都可以算是好的應用
。也因此,曾經使用Excel VBA 完成工廠的生管、出貨管理系統,
也曾經使用Lotus Approach完成客戶管理系統,這些看似玩具的東
西,都曾被拿來實際運用到實務的應用上。

  言歸正傳,原始樂園計數器的第一個版本,幾乎是把王國榮先
生的那段程式碼直接拿來使用,除了資料表的結構是根據自己的需
求定義,存取資料庫的那一段不相同之外!這個階段也符合務實的
原則,可以用再說。

  拷貝實用版的計數器(直接使用王國榮先生寫的程式碼),顯
示圖形的原理是利用已經存在的圖檔,建立一個畫布,然後把對應
的圖形畫上去,最後再把這個畫好的圖形,以指定的格式輸出;
v1.0版因為考慮可以變換數字的顏色,顯示的原理則變成,為LED
數字建立字型陣列,以0,1 區隔字型與背景,然後建立索引的方式
,把指定顏色的數字與其背景,一點一點塗上去。以下就是0的PHP
陣列:

  $img0 = array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                0,0,1,1,1,1,1,1,1,1,1,1,0,0,
                0,1,0,1,1,1,1,1,1,1,1,0,1,0,
                0,1,1,0,1,1,1,1,1,1,0,1,1,0,
                0,1,1,1,0,0,0,0,0,0,1,1,1,0,
                0,1,1,1,0,0,0,0,0,0,1,1,1,0,
                0,1,1,1,0,0,0,0,0,0,1,1,1,0,
                0,1,1,1,0,0,0,0,0,0,1,1,1,0,
                0,1,1,0,0,0,0,0,0,0,0,1,1,0,
                0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                0,1,1,0,0,0,0,0,0,0,0,1,1,0,
                0,1,1,1,0,0,0,0,0,0,1,1,1,0,
                0,1,1,1,0,0,0,0,0,0,1,1,1,0,
                0,1,1,1,0,0,0,0,0,0,1,1,1,0,
                0,1,1,1,0,0,0,0,0,0,1,1,1,0,
                0,1,1,0,1,1,1,1,1,1,0,1,1,0,
                0,1,0,1,1,1,1,1,1,1,1,0,1,0,
                0,0,1,1,1,1,1,1,1,1,1,1,0,0,
                0,0,0,0,0,0,0,0,0,0,0,0,0,0);

  當0 的陣列建立之後,其他數字的字型陣列也就簡單多了。再
順序完成8, 9, 6, 5, 2, 3, 4, 7, 1 的陣列,最後再合併這些陣
列為一個大陣列,以偏移量來確定繪圖的陣列起始索引值,這就完
成新版計數器的繪圖核心。

  有了這麼有趣的經驗之後,當然免不了會突發奇想,對我們而
言,字型是大家文書、美工必備的,然而,即使是這樣,通常僅限
於印出來的文書、或是把字型轉成圖片顯示在網頁上,能在網頁上
透通的,除了圖形之外,就是作業系統內建的字型。假若,能有個
中文字型的創作組織,以免費貢獻的方式來建立Public Domain 的
字型,是不是能有更節省創作成本且更好品質的網頁呢?像是注音
字型等等一類,免除一堆授權的費用,讓每個幼兒教育單位、乃至
於中小學都可以很自由運用。

  (待續…)

---
一輪明月 http://koko.688.idv.tw
神奇力量 http://www.688.idv.tw


---
歡迎光臨神奇力量網
http://www.688.idv.tw