我是一名在wxPython中有豐富經驗的Python程序員,我正在學習Haskell並開始編寫wxHaskell中的一個小型GUI項目。我還沒有想出如何複製wxPython的一個特性是PyEmbeddedImage - 圖像可以作爲Python模塊中的字符串存儲,然後從wxPython訪問。這個功能是否存在於wxHaskell中?如果是這樣,你怎麼做?wxHaskell中的嵌入式圖像
謝謝!
我是一名在wxPython中有豐富經驗的Python程序員,我正在學習Haskell並開始編寫wxHaskell中的一個小型GUI項目。我還沒有想出如何複製wxPython的一個特性是PyEmbeddedImage - 圖像可以作爲Python模塊中的字符串存儲,然後從wxPython訪問。這個功能是否存在於wxHaskell中?如果是這樣,你怎麼做?wxHaskell中的嵌入式圖像
謝謝!
您可以嘗試使用file-embed來嵌入文件,然後使用imageCreateFromPixels
來創建圖像。
使用imageGetPixels
至嵌入前準備文件(例如,創建一個WX應用程序,將資源目錄加載圖像和序列化到文件)
我很喜歡Yuras建議使用file-embed
包,它會自動嵌入的任務數據轉換爲字節串。
要了解如何手動執行此操作,請查看關於compiled constant data structures的Haskell wiki文章(例如,在大型地圖或其他數據結構中進行編譯)。
使用bytestring
和-XOverloadedStrings
擴展很好地避免了對魔術無盒值的需要。
您可以使用GHC的魔術散列語法嵌入字節數組。詞法生成器Alex執行此操作。不幸的是,我上次看到GHC時無法找到正確的描述(即它是一種真正的技術還是被視爲黑客)。如果生成一個Alex詞法分析器,查看結果* .hs文件將顯示語法。也許有人對這種技術有更好的瞭解? – 2010-11-18 12:49:20