【问题标题】:Using negative height in g.fillRect()在 g.fillRect() 中使用负高度
【发布时间】:2017-04-30 07:53:12
【问题描述】:

您好,我正在尝试使用 g.fillRect() 绘制条形图来制作每个条形。

条形图将从网格高度 y: 700 开始,然后向上填充到 y: 350。

我无法为我的条形设置负的 x 高度:

public void paint(Graphics g) {
    for (Bar b : this.bars) {
        g.fillRect(b.x_location,b.y_location,b.width,b.height * (-1));
    }
}

这不会绘制条形图。

修复:

public void paint(Graphics g) {
    for (Bar b : this.bars) {
        g.fillRect(b.x_location,b.y_location - b.height,b.width,b.height);
    }
}

【问题讨论】:

  • 由于 API 的工作方式,您不能向下和向右扩展。相反,从y 坐标中减去距离并将高度保持为正值
  • 这行得通,tyvm。我从我们的 y 坐标中减去了条的高度,它完成了它需要做的事情。

标签: java


【解决方案1】:

您不能,因为 API 的工作方式,它会向下和向右延伸。相反,从y 坐标中减去距离并将高度保持为正值

来自JavaDocs

填充指定的矩形。矩形的左右边缘位于 x 和 x + 宽度 - 1。顶部和底部边缘位于 y 和 y + 高度 - 1。生成的矩形覆盖区域宽度像素宽 x 高度像素高。使用图形上下文的当前颜色填充矩形。

虽然不是直接复制,但this example 演示了基本概念

【讨论】:

    猜你喜欢
    • 2016-10-23
    • 2012-08-19
    • 1970-01-01
    • 2016-09-01
    • 1970-01-01
    • 2012-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多