我根据示例使用Haskell-Chart eample-1 。 Haskell-Chart 生成文件内容
toFile def "example1_big.png" $ do
...
是否可以将图表内容生成为 ByteString 而不是文件? 我在文档中找不到解决方案。
最佳答案
不幸的是,这不可能是直接的方式。 toFile
调用 cairo
中的函数像withPDFSurface
这样的库, withSVGSurface
它们本身调用 cairo C 库并且只接受文件名。
您始终可以写入临时文件并读回内容,如下所示:
import System.IO.Temp -- from the temporary package
import qualified Data.ByteString.Char8 as BS
...
bs <- withSystemTempFile "chart-XXXXXXX" $ \path _ -> do
toFile def path $ do ...
BS.readFile path
关于haskell - 在 Haskell-Chart 中生成 ByteString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39590596/