Никогда не пробовал, но вы можете попробовать создать буферизованное изображение соответствующего размера, включая желаемую границу вокруг изображения. Таким образом, для границы в 5 пикселей код может выглядеть примерно так:
BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
Graphics2D g2d = image.createGraphics();
g2d.setColor( new Color(0, 0, 0, 0) );
g2d.fillRect(0, 0, width, height);
g2d.drawImage(image, 5, 5, null);
Или, если вы хотите сохранить изображение в его исходном размере, вы просто используете 4 метода fillRect (...), чтобы перезаписать верхний / нижний / левый / правый края изображения.