java - 使用图形java打印矩形

标签 java graphics integer

我正在尝试使用单独的整数值绘制多个矩形。

    BufferedImage rectImage = bimage.myBImage;
    BufferedImage pointImage = bimage.myBImage;
    Graphics g = rectImage.createGraphics();
    Graphics h = pointImage.createGraphics();
    Color rectangle = Color.CYAN;
    g.setColor(rectangle);
    int alon = -118;
    int alat = 34;
    int x = (int) Math.round((alon-UL_Lon)/dXLon);
    int y = (int) Math.round((UL_Lat-alat)/dYLat);
    g.drawRect(x - 5, y - 5, 10, 10);
    Color point = Color.BLUE;
    h.setColor(point);
    h.drawLine(x, y, x, y);

我有多个 alon 和 alat 值,我希望能够输入这些值,而不必一遍又一遍地重写代码。

我应该如何去做这样的事情?

最佳答案

这个问题很模糊,措辞也不太好。根据我收集的信息,我推测您想要在不同位置渲染不同大小的多个矩形。您应该首先定义需要多少个矩形:

int numberOfRectangles = 5;

然后您应该创建一个可以保存您定义的矩形数量的数组:

Rectangle rectangles[] = new Rectangle[numberOfRectangles];

现在,您必须定义矩形:

rectangles[0] = new Rectangle(7, 64, 32, 32);
rectangles[1] = new Rectangle(64, 18, 4, 32);

您似乎也想设置颜色?所以你可以通过创建一个数组来做到这一点:

Color rectangleColors[] = new Color[numberOfRectangles];

然后还定义它们:

rectangleColors[0] = new Color(255, 48, 128);
rectangleColors[1] = Color.GREEN;

由于系统的原因,您不必一次定义所有矩形。现在,您必须循环遍历矩形数组并使用 render 方法渲染每个定义的矩形:

for (int i = 0; i < numberOfRectangles; i++)
{
    g.setColor(rectangleColors[i]);
    g.fillRect(rectangles[i].getX(), rectangles[i].getY(), rectangles[i].getWidth(), rectangles[i].getHeight());
}

这个应该可以工作,尽管我还没有在 Java 中测试过它。

关于java - 使用图形java打印矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31011214/

相关文章:

java - 搜索算法 - Java

java - 使用 NetBeans 设置图像库

c - 修剪一串 Int

java - 尝试确定字符串是否为整数

java - 返回值的Java并发方法调用

java - javax.xml.transform 使用什么处理器?

c - 表面和纹理的区别(SDL/通用)

java - 由于 "@Override"注解无法绘制图形

java - 用随机颜色绘制形状

c++ - 为什么常量有类型修饰符?