3

グラフに色付きの地図を描かなければなりません。問題は、グラフの原点が右または左にある可能性があることです。右から左に描くことは可能ですか?

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);
4

1 に答える 1

3

はい、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);
于 2011-04-05T10:10:52.303 に答える