【问题标题】:Finding Coordinates on a Bufferred Image在缓冲图像上查找坐标
【发布时间】:2013-06-26 12:20:50
【问题描述】:

我有一个 4x4 棋盘(分辨率 400x400)的缓冲图像,在半个 JPanel 上呈现。是否可以在不手动操作的情况下找到每个方角的坐标?我在 JPanel 上使用绝对定位,它是除 Frame 之外的唯一容器

【问题讨论】:

    标签: java swing jframe jpanel bufferedimage


    【解决方案1】:

    如果您有一个 4 x 4 的棋盘格,即 400 x 400,则每个正方形为 100 x 100 像素。

    当您像这样构造BufferedImage 时,您会在构造时为每个正方形保存一个Rectangle

    这样,当您稍后单击鼠标时,可以使用Rectanglecontains 方法来确定单击了哪个方格。

    您不应该使用绝对定位。如果你的棋盘占 JPanel 的一半,FlowLayoutBoxLayout 效果很好。

    【讨论】:

    • 嗯,它们不是完美的正方形(忘了提),而且正方形不是独立的,而是完全在一个图像中。有其他方法吗?
    • @Anon855:当然。将图像放入 Microsoft Paint 或其他一些绘图程序并计算像素。为每个正方形创建一个矩形。您的另一种选择是编写一个通过构造 BufferedImage 来绘制棋盘的类。
    猜你喜欢
    • 2020-10-05
    • 2012-01-15
    • 1970-01-01
    • 2016-04-05
    • 2021-12-26
    • 2021-12-28
    • 2011-05-31
    • 1970-01-01
    相关资源
    最近更新 更多