我想创建一个文本框,我可以将其设置为具有特定的宽度和高度。但是,我创建的文本框首先没有宽度和高度。例如。以下代码:
main = do
putStrLn $ show $ width $ myText
putStrLn $ show $ height $ myText
mainWith myText
myText :: Diagram B
myText = text "here" # lw 1 # fontSizeL 0.2 # fc grey # scaleX 1
导致空白图表(没有文字),并打印" 0.0"作为文本框的宽度和高度:
ghc --make Main.hs && ./Main -o circle.svg -w 400
[1 of 1] Compiling Main ( Main.hs, Main.o )
Linking Main ...
0.0
0.0
为了让文字出现,似乎我需要把它放在别的东西上面。例如。以下代码:
main = do
putStrLn $ show $ width $ myDiagram
putStrLn $ show $ height $ myDiagram
mainWith myDiagram
myDiagram :: Diagram B
myDiagram = myText <> myBackground
myText :: Diagram B
myText = text "here" # lw 1 # fontSizeL 0.2 # fc grey # scaleX 1
myBackground :: Diagram B
myBackground = rect 1 1 # fc black
按预期在黑色背景中生成灰色文本。
为什么文本框没有大小?
如何将文本框的长度和宽度设置为某个值?
答案 0 :(得分:3)
为什么文本框没有大小?
因为文本处理不仅高度依赖于用于呈现图表的后端(参见the User's Guide),而且还可能取决于用于运行程序的系统中字体的配置方式。
如何将文本框的长度和宽度设置为某个值?