В общем разобрался сам, на скорую руку решение вот, оптимизировать есть что.
Решение для потомков, может кому пригодиться:
private BufferedImage addCorners(BufferedImage tempImg, int cornerRadius){
BufferedImage tempImgRounded = new BufferedImage(500, 500, BufferedImage.TYPE_INT_ARGB);
Graphics2D graphics2D = tempImgRounded.createGraphics();
graphics2D.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
//graphics2D.setColor(new Color(1f,0f,0f,0f ));
graphics2D.fill(new RoundRectangle2D.Float(0, 0, 500, 500, cornerRadius, cornerRadius));
graphics2D.setComposite(AlphaComposite.SrcAtop);
graphics2D.drawImage(img, 0, 0, null);
return tempImgRounded;
}