繁体   English   中英

如何将旋转的图像放入imageview(JavaFx)?

[英]how can I put a rotated image in imageview (JavaFx)?

当我在imageview中旋转图像时,它变得从角落切开了,这是旋转图像的功能,我使用BufferedImage然后将其转换为Image:

public BufferedImage rotate(BufferedImage bImage, int angle) {
    int w = bImage.getWidth();
    int h = bImage.getHeight();
    AffineTransform transform = AffineTransform.getRotateInstance(Math.toRadians(angle), w / 2, h / 2);
    AffineTransformOp op = new AffineTransformOp(transform, AffineTransformOp.TYPE_BILINEAR);
    BufferedImage bImage2 = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB);
    op.filter(bImage, bImage2);
    }
    int a = bImage2.getWidth();
    int b = bImage2.getHeight();
    view.setFitWidth(a);
    view.setFitHeight(b);

    return bImage2;

}

这是旋转按钮的代码,我将旋转后的图像放在imageview中:

   @FXML
    private void rotation15(ActionEvent event) throws IOException {

        BufferedImage img2 = rotate(grp_img.get(0), 15);
        view.setImage(convert(img2)));

    }


我该怎么办 ? 请帮帮我 !!!!

未测试,但尝试

BufferedImage bImage2 = op.createCompatibleDestImage(bImage, null);
op.filter(bImage, bImage2);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM