2010-11-18 31 views
3

我是一名在wxPython中有豐富經驗的Python程序員,我正在學習Haskell並開始編寫wxHaskell中的一個小型GUI項目。我還沒有想出如何複製wxPython的一個特性是PyEmbeddedImage - 圖像可以作爲Python模塊中的字符串存儲,然後從wxPython訪問。這個功能是否存在於wxHaskell中?如果是這樣,你怎麼做?wxHaskell中的嵌入式圖像

謝謝!

+0

您可以使用GHC的魔術散列語法嵌入字節數組。詞法生成器Alex執行此操作。不幸的是,我上次看到GHC時無法找到正確的描述(即它是一種真正的技術還是被視爲黑客)。如果生成一個Alex詞法分析器,查看結果* .hs文件將顯示語法。也許有人對這種技術有更好的瞭解? – 2010-11-18 12:49:20

回答

2

您可以嘗試使用file-embed來嵌入文件,然後使用imageCreateFromPixels來創建圖像。

使用imageGetPixels至嵌入前準備文件(例如,創建一個WX應用程序,將資源目錄加載圖像和序列化到文件)

0

我很喜歡Yuras建議使用file-embed包,它會自動嵌入的任務數據轉換爲字節串。

要了解如何手動執行此操作,請查看關於compiled constant data structures的Haskell wiki文章(例如,在大型地圖或其他數據結構中進行編譯)。

使用bytestring-XOverloadedStrings擴展很好地避免了對魔術無盒值的需要。