免費論壇 繁體 | 簡體
Sclub交友聊天~加入聊天室當版主
分享
返回列表 发帖

tikz 的 line cap 与 bounding box

刚才无意中发现的。

首先,加载了 tikz 后,代码:
\fboxsep=0pt\fbox{\tikz{\draw(0,0)--(2,1);}}
效果谁都知道:
0.png
2018-10-1 03:06


但如果再画一条粗的线,比如:
\fboxsep=0pt\fbox{\tikz{\draw[line width=1cm,red](0,0)--(2,1);\draw(0,0)--(2,1);}}
效果估计你意想不到:
1.png
2018-10-1 03:06


如果将粗线的线帽(line cap)设为 rect:
\fboxsep=0pt\fbox{\tikz{\draw[line width=1cm,red,line cap=rect](0,0)--(2,1);\draw(0,0)--(2,1);}}
更加想不到:
2.png
2018-10-1 03:06


那它的边界框(bounding box)到底是根据什么得出的?

这回你应该猜得到了,因为还有一种线帽没试,那就是 round:
\fboxsep=0pt\fbox{\tikz{\draw[line width=1cm,red,line cap=round](0,0)--(2,1);\draw(0,0)--(2,1);}}
效果:
3.png
2018-10-1 03:06


换句话说,无论线帽如何,边界框总是按照 round 来算的。

所以其实最开头的那图也并不是刚好包住的。
分享到: QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
冇钱又冇样、冇型又冇款、冇身材又冇文采、冇学历又冇能力、冇高度冇速度冇力度兼夹冇野做!(粤语)
口号:珍爱生命,远离考试。

返回列表 回复 发帖