Встроенные изображения в wxHaskell

Я программист на Python, имеющий опыт работы с wxPython, и я изучаю Haskell и изучаю небольшой GUI-проект в wxHaskell. Одна особенность из wxPython, которую я еще не выяснил, как дублировать, - это PyEmbeddedImage, где изображения могут храниться в виде строк внутри модулей Python, а затем к ним можно получить доступ из wxPython. Существует ли эта функция в wxHaskell, и если да, то как вы это делаете?

Спасибо!

2 ответа

Решение

Вы можете попробовать использовать file-embed для встраивания файла, а затем использовать imageCreateFromPixels создать образ.

использование imageGetPixels подготовить файл перед внедрением (например, создать приложение wx, которое будет загружать изображение из каталога ресурсов и сериализовать в файл)

Мне очень нравится предложение Юраса использовать file-embed пакет, который автоматизирует задачу встраивания данных в строку байтов.

Чтобы увидеть, как это сделать вручную, просмотрите вики-статью на Haskell о скомпилированных постоянных структурах данных (например, для компиляции в больших картах или других структурах данных).

Использование bytestring и -XOverloadedStrings расширение приятно избегает необходимости волшебных распакованных значений.

Другие вопросы по тегам