java - 从右到左绘制图像

标签 java swing graph graphics2d

我必须在图表上绘制彩色 map 。问题是我的图可以在右边或左边有原点。 是否可以从右向左绘制?

double origin_x = xPositionToPixel(0.0);
    double origin_y = yPositionToPixel(0.0);
    BufferedImage image = new BufferedImage(values.length, values[0].length, BufferedImage.TYPE_INT_ARGB);
    Graphics2D gImg = (Graphics2D)image.getGraphics();
    for (int i = 0; i < values.length; i++) {
        Double[] dValues = values[i];
        for (int j = 0; j < dValues.length; j++) {
            double value = dValues[j];
            gImg.setColor(ColorMap.getPixelColor(value));
            gImg.drawRect(i, j, 1, 1);
        }
    }
    g2.drawImage(image, (int)origin_x + 1, (int)origin_y + 1, null);

最佳答案

是的,使用 AffineTransform并反转 x 轴:

AffineTransform at = new AffineTransform();
at.scale(-1, 1);
at.translate((int)origin_x + 1, (int)origin_y + 1);

g2d.drawImage(image, at, null);

关于java - 从右到左绘制图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5550189/

相关文章:

Python iGraph - community_infomap 图

c - 链接到外部 C 库的 R 包

javascript - 使用 Nashorn 将 Javascript 函数作为功能接口(interface)类型传递给 Java 方法

java - 无法在 Wildfly 10 中实例化驱动程序 SQLServerDriver

java - junit5 - 并行运行测试(pom 中没有 forkCount)

java - 对 3D 图形渲染库的建议?

java - 错误: Client does not support authentication protocol requested by server; consider upgrading MySQL client

java - 多线程计时器无法正常工作

Java 为 JTextArea 中的每个新行创建新文本行

java - 将 JPanel 添加到 JFrame : java. lang.IllegalArgumentException 的问题:无法添加到布局:约束必须是字符串(或 null)