2016-09-20 11 views
5

eample-1 örneğine göre Haskell-Grafiğini kullanıyorum. Haskell-Grafik mümkün dosya yerine bytestring grafiğin içeriğini oluşturmak mıHaskell-Chart'da ByteString Oluşturma

toFile def "example1_big.png" $ do 
... 

dosyaya içerik üretir? Dokümantasyonda bir çözüm bulamıyorum.

cevap

6

Maalesef bu mümkün değildir. toFile, withPDFSurface, withSVGSurface gibi cairo kitaplıklarındaki işlevleri çağırır, bunlar kendilerini cairo C-kütüphanesine çağırır ve sadece dosya adlarını alır.

Hep geçici bir dosyaya yazmak ve bu şekilde geri içeriğini okuyabilir:

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 
İlgili konular