我想通过Java绘制一条定向箭头线。
目前我正在使用 java.awt.Line2D.Double
类画线
g2.setStroke(new BasicStroke(2.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL)); // g2 is an instance of Graphics2D
g2.draw(new Line2D.Double(x1,y1,x2,y2));
但是只出现直线,没有出现定向箭头。 BasicStroke.Join_BEVEL
用于绘制定向箭头。当两条线段相交时应用它。
我正在绘制的线与矩形的边界相交,但没有绘制定向箭头。只画了一条简单的线。
我有什么想念的吗?
原文由 Amit 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果多段线处于特定角度,则在多段线段之间绘制斜角。如果您正在绘制一条线,而该线恰好在某些其他具有某种颜色的像素附近绘制 - 一旦您绘制了矩形,Graphics 对象就不知道该矩形,它(实际上)只保存像素。 (或者更确切地说,图像或操作系统窗口包含像素)。
要绘制一个简单的箭头,请像您一样为茎绘制一条线,然后为 V 形绘制一条多段线。更好看更好的箭头有弯曲的边并且被填充。
您可能不想对箭头使用斜角,因为斜角是平面;而是使用斜接选项: