Haskell Diagrams输出没有命令行

时间:2014-04-15 12:18:24

标签: haskell svg haskell-diagrams

我有一个问题:我知道如何在终端中使用ghc --make Strukturine.hs命令帮助输出svg文件。据我所知,它使用import Diagrams.Backend.SVG.CmdLine。是否有可能以某种方式在终端中:load Strukturine.hs的帮助下加载Strukturine.hs文件,然后只需输入函数名称,例如:strukturine。该函数应输出方案/图片(到svg文件)。

Strukturine.hs文件的开头看起来像这样

{-# LANGUAGE NoMonomorphismRestriction #-}

module Strukturine where

import Diagrams.Prelude

import Diagrams.Backend.SVG.CmdLine

import Data.Maybe (fromMaybe)

import Data.Char

import Input

import qualified Input(getNumber) --other module

main = mainWith(strukturine :: Diagram B R2)

1 个答案:

答案 0 :(得分:1)

您可以使用Diagrams.Backend.SVG。

中的renderSVG函数
renderSVG :: FilePath -> SizeSpec2D -> Diagram SVG R2 -> IO ()

例如渲染400x400 svg:

import Diagrams.Backend.SVG (renderSVG)

outputFile :: FilePath
outputFile = "strukturine.svg"

dimensions :: SizeSpec2D
dimensions = mkSizeSpec (Just 400) (Just 400)

strukturineDiagram :: Diagram SVG R2

strukturine = do renderSVG outputFile dimensions strukturineDiagram

请参阅http://projects.haskell.org/diagrams/haddock/Diagrams-Backend-SVG.html#v:renderSVG

有关更具体的渲染,请参阅:http://projects.haskell.org/diagrams/doc/cmdline.html