2011-04-05 73 views
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

是,使用一个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);