【发布时间】:2020-03-12 16:08:42
【问题描述】:
我想将BufferedImage 旋转一个弧度角。我使用了以下代码。 matrixImage 是一个整数矩阵,其中前景像素以 1 作为值,而背景像素以 0 作为值。新的BufferedImage 已正确旋转,但多余的边框是黑色的。新图像比原来的大,新的部分是黑色的。我希望新图像的所有背景像素都是白色的。我尝试了Rotate BufferedImage and remove black bound 提出的解决方案,但我注意到在旋转过程中图像会发生变化。
bufferedImage = matrix2BufferedImage(matrixImage);
AffineTransform transform = new AffineTransform();
transform.rotate(radians, bufferedImage.getWidth() / 2, bufferedImage.getHeight() / 2);
AffineTransformOp op = new AffineTransformOp(transform, AffineTransformOp.TYPE_BILINEAR);
bufferedImage = op.filter(bufferedImage, null);
【问题讨论】:
-
也许这个解决方案也会有所帮助:stackoverflow.com/questions/5925616/…
标签: java bufferedimage affinetransform