Data structures wxHaskell中的嵌入图像

Data structures wxHaskell中的嵌入图像,data-structures,haskell,static,constants,wxhaskell,Data Structures,Haskell,Static,Constants,Wxhaskell,我是一名有wxPython经验的Python程序员,我正在学习Haskell,并尝试用wxHaskell编写一个小型GUI项目。wxPython的一个特性是PyEmbeddedImage,我还没有弄清楚如何复制它——在PyEmbeddedImage中,图像可以作为字符串存储在Python模块中,然后从wxPython访问。wxHaskell中是否存在此功能,如果存在,您如何实现 谢谢 您可以尝试使用嵌入文件,然后使用imageCreateFromPixels创建图像 使用imageGetPixe

我是一名有wxPython经验的Python程序员,我正在学习Haskell,并尝试用wxHaskell编写一个小型GUI项目。wxPython的一个特性是PyEmbeddedImage,我还没有弄清楚如何复制它——在PyEmbeddedImage中,图像可以作为字符串存储在Python模块中,然后从wxPython访问。wxHaskell中是否存在此功能,如果存在,您如何实现

谢谢

您可以尝试使用嵌入文件,然后使用
imageCreateFromPixels
创建图像


使用
imageGetPixels
在嵌入之前准备文件(例如,创建一个wx应用程序,将图像从资源目录加载并序列化到文件)

我非常喜欢Yuras建议使用
file embed
包,该包自动化了将数据嵌入bytestring的任务

要了解如何手动执行此操作,请查看上的Haskell wiki文章(例如,在大型地图或其他数据结构中编译)


使用
bytestring
-XOverloadedStrings
扩展可以很好地避免使用神奇的非固定值。

您可以使用GHC的神奇哈希语法嵌入字节数组。lexer生成器Alex就是这样做的。不幸的是,在我最后一次查看GHC时,我找不到一个正确的描述(即,这是一个真正的技术还是一个不被认可的黑客)。如果生成Alex lexer,查看生成的*.hs文件将显示语法。也许有人对这项技术有更好的了解?