Java al rotar un ImageBuffer falla

Estoy tratando de rotar una instancia de una imagen de BufferImage llamada pic cuando intento esto, redimensiona y sesga y recorta la imagen, cualquier consejo para que funcione correctamente

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);
}

Cuando lo hago girar 90˚ funciona bien, así que me pregunto si el problema es que es la forma de la imagen.

Respuestas a la pregunta(1)

Su respuesta a la pregunta