0

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)
4

1 回答 1

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

于 2014-05-18T22:19:11.947 回答