通过圆角矩形计算外线

时间:2010-09-16 20:20:52

标签: java graphics awt

我画了一个带有拼写笔划的圆角矩形然后我尝试画一条线 在这个矩形周围。但在边缘,它永远不会真正相互匹配。

    g.setStroke(new BasicStroke(radius + .5f));
    g.drawRoundRect(x + radius/2, y + radius/2, width - radius, height - radius, radius, radius);

    // Outer border
    g.setColor(outer);
    g.setStroke(new BasicStroke(1));
    g.drawRoundRect(x, y, width - 1, height - 1, radius, radius);

你知道如何计算外边界半径吗?

好的我尝试了一点,但我得到了一个更好的,但仍然没有完成;

    float scale = radius / 2.0f;
    g.setPaint( p );
    g.setStroke(new BasicStroke(2 * scale ));
    g.drawRoundRect(x + radius/2, y + radius/2, width - radius, height - radius, radius, radius);

    // Outer border
    g.setColor(outer);
    g.setStroke(new BasicStroke(1));
    g.drawRoundRect(x, y, width - 1, height - 1, Math.round(4*scale), Math.round(4*scale) );

有人有更好的吗?

1 个答案:

答案 0 :(得分:0)

我认为没有一种简单的方法。 (即使你实现了自己的圆角矩形绘图程序也没有。)

我建议你首先绘制一个略厚的外边框,然后画上内部的“边框”。