It's best to just rotate the BufferedImage before throwing it at TexturePaint.
AffineTransform texture = new AffineTransform();
texture.rotate(radians, bufferedImage.getWidth()/2, bufferedImage.getHeight()/2);
AffineTransformOp op = new AffineTransformOp(texture, AffineTransformOp.TYPE_BILINEAR);
bufferedImage = op.filter(bufferedImage, null);
You should have a subclass of TexturePaint without getting a personnel reduction, I can only assume that your rotation code causes a drop.
Hope this helps.
source
share