Java rodando um ImageBuffer falha

Eu estou tentando girar uma instância de um BufferImage chamado pic quando eu tento isso redimensiona e inclina e corta a imagem, qualquer conselho para fazê-lo funcionar corretamente

public void rotate(double rads){
    AffineTransform tx = new AffineTransform();
    tx.rotate(rads,pic.getWidth()/2,pic.getHeight()/2);
    AffineTransformOp op = new AffineTransformOp(tx, AffineTransformOp.TYPE_BILINEAR);
    pic = op.filter(pic, null);
}

Quando eu tenho girar 90˚ ele funciona bem, então eu estou querendo saber se o problema é que é a forma da imagem?

questionAnswers(1)

yourAnswerToTheQuestion