我在整个边界框内绘制了一组均匀分布的水平线。
我遇到的问题是线条(大于1px时)会超出边界的顶部和底部边缘。确切地说,缺少顶部和底部两侧的一半。
这是一些尝试修复此问题的伪代码,但它不起作用。它应该描述我想要做的事情:
var halfline = linewidth / 2.;
var maxheight = boxsize.height - halfline;
var minheight = halfline;
//draw h lines
for(i = 0; i < maxlines; i++)
{
var xloc = 0;
var xfrac = i / maxlines - 1;
var yloc = (xfrac * boxsize.height) + minheight;
move_to(xloc, yloc);
line_to(boxsize.width, yloc);
}
请记住,lang在这里并不重要,只是想法如何正确地偏移和缩放(在for循环中绘制的)线。
感谢您的任何提示......假设以下内容是安全的:
线宽以像素为单位
坐标系是基于像素的,从(0,0)到(n,n)
答案 0 :(得分:1)
你的问题有点不清楚,但我认为这可能会有所帮助:
var availablespace = boxsize.height - linewidth;
...
var yloc = (xfrac * availablespace) + minheight;