Sunday, February 01, 2009

The Menu Show

Base Maps of Menus

接連多日的年假已接近尾聲,吃吃喝喝之餘,很自然地就想到一個跟吃喝有關的練習。雖然年假前在公司搞的相框產品確實用到各式 UI 選單(menu),但我在這裡要聊的是名副其實的菜單(menu)。

為了製作精美的菜單,我用 Google 搜來幾張食物的圖片準備用作底圖,除了一張用作食物主選單底圖外,其餘三張分別用作飲料類水果類蔬菜類等用途。

考慮到要製作的菜單不只一張,且每張菜單的內容會一直修改,所以我不打算用繪圖軟體繪製菜單,這個重任當然要照慣例,委託給爬說語。要執行這支程式,必須先以 YAML 語法,利用文字編輯器寫下菜單的內容及呈現方式,存成 menu.yaml 。程式執行時會自動讀進這個描述檔,然後描繪出期望的菜單來。例如說,有張菜單長成這樣:

menu of drinks

這是一張飲料類的菜單,它有 Coffee, Juice, Soda Water, Tea 等選項,要產生這張菜單, menu.yaml 這個純文字檔就要列出飲料類菜單的內容:

title: '==   Drink   =='
items:
    - Coffee
    - Juice
    - Soda Water
    - Tea

除了填寫菜單的內容外,還要填寫菜單的呈現方式:

style:  # Style of title, items, focused items
    font: [cour.ttf, 24]
    title: {color: clYellow}
    items: {color: clWhite}

當然不能忘記告知從 Google 那搜來的底圖:

basemap:
    dim: [320, 240]  # dimensions of width and height
    color: clWhite
    image: drink.jpg
    type: image  # {color, image}

完整描述請參閱 menu.yaml 。程式請參閱 MenuShow.py

Tags: [] [] [] []

0 comments: