旋转BufferedImage并移动它

时间:2017-04-02 16:45:31

标签: java image

我正在尝试旋转BufferedImage并在之后移动它。如果我在轮换之前或之后进行trans.traslate(wantedPointX,wantedPointY)我没有得到想要的结果,那么我该怎么办呢?

这是我到目前为止所尝试的内容:

protected void paintComponent(Graphics g) {
    super.paintComponent(g);
    AffineTransform trans = new AffineTransform();
    try {
        BufferedImage img = ImageIO.read(new File("line.png"));
        trans.translate(img.getWidth() / 2, img.getHeight() / 2);
        trans.rotate(Math.atan2(y, x)); //follows mouse
        trans.translate(-(img.getWidth() / 2), -(img.getHeight() / 2));

        //trans.moveTo(200, 200)

        ((Graphics2D)g).drawImage(img, trans, null);
    } catch (IOException ex) {
        System.err.println("error reading image");
    }
}

0 个答案:

没有答案