5

我现在正在为我的学士论文图书馆工作,我需要你的帮助来制作新的线型。下面是单行双头箭头的代码: <-> 。我想问一下是否有能力从线(line = trailFromOffsets [unitX])到双线,看起来像这样:=,箭头看起来像这样<=>?如果有能力做到这一点,我将非常感谢一个例子!先感谢您!

line = trailFromOffsets [unitX]
doubleHeadArrow  = (with & arrowHead  .~ spike & headColor .~ black & headSize .~ 0.4
                         & arrowTail .~ spike' & tailColor  .~ black & tailSize .~ 0.4
                         & arrowShaft .~ line) 
4

1 回答 1

1

我认为您需要创建某种假箭头。取一个带有不可见轴的双头箭头,不透明度为 0。并将两条平行线放在不可见轴上,即箭头,使用sep

import Data.Colour (withOpacity)

invisibleShaftArrow = arrowBetween' (with & arrowHead  .~ spike & headColor .~ black & headSize .~ 0.4
                     & arrowTail .~ spike' & tailColor  .~ black & tailSize .~ 0.4
                     & arrowShaft .~ line & shaftColor .~ anyColor `withOpacity` 0)

编辑:更正确的是,lines函数应该可以解决问题:

line = trailFromOffsets [unitX]
lines = mconcat $ map strokeLocTrail [line, offsetTrail 0.1 line]

example = (with & arrowHead  .~ spike & headColor .~ black & headSize .~ 0.4
                & arrowTail .~ spike' & tailColor  .~ black & tailSize .~ 0.4
                & arrowShaft .~ lines)
于 2014-05-20T13:00:35.540 回答