我正在使用JuicyPixels在磁盘上加载PNG,我需要一个指向原始像素数据的指针。它作为UArray存储在JuicyPixels中。我怎么得到指针?它是否像StorableArray一样简单?如果是这样,怎么样?
答案 0 :(得分:4)
您可以在IO
中使用thaw
:
do storableArray <- thaw uArray
...
这会复制整个数组,但可能比手写代码更有效地执行相同操作。如果您知道您不会再次访问UArray
,那么您可以使用unsafeThaw
,但是对于当前的库实现,它仍然可能会导致完整的副本。 (其文档中列出了具有unsafeThaw
非复制实现的数组类型。)
可能有一种不可移植的方式来获取UArray
下的原始指针,但我在GHC.Exts
中找不到。