当我在图像视图中旋转图像时,它将从角落剪切,这是旋转图像的功能,我使用BufferedImage,然后将其转换为图像:
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)));
}我该怎么做?请帮帮我!
发布于 2016-02-22 03:26:34
未测试,但请尝试
BufferedImage bImage2 = op.createCompatibleDestImage(bImage, null);
op.filter(bImage, bImage2);https://stackoverflow.com/questions/35538159
复制相似问题