我正在尝试做一些非常简单的绘图,但我似乎无法得到我需要的结果。
/* Draw Title Bar */
int w = window.getWidth();
int h = 10;
g2d.setColor(Color.blue);
BasicStroke stroke = new BasicStroke(1.0f,BasicStroke.CAP_BUTT,
BasicStroke.JOIN_MITER);
g2d.setStroke(stroke);
g2d.fillRect(window.getX(),
window.getY(), w, h);
/* Draw Window Border */
g2d.setPaint(Color.blue);
g2d.drawRect(window.getX(),
window.getY()+h,
window.getWidth(),
window.getHeight());
g2d.setColor(Color.red);
g2d.drawLine(window.getX(), 50, window.getX()+window.getWidth(), 50);
使用 g2d.scale(2.0, 2.0)
结果如下:
它没有正确排列。当scale=1.0时,它在左侧正确对齐,但在右侧却偏离了。这是缩放的问题吗?我知道 fillRect 和 drawRect 的边缘是 x+w+1
/x+w
但即使您对此进行调整,它仍然无法正确对齐。
最佳答案
除了填充上面的矩形之外 - 您还应该绘制它。正如你所看到的,他没有边界。
关于java - 绘制矩形、填充矩形、比例不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39707370/