Чтобы изменить размер любого BufferedImage, вы можете создать новый и нарисовать поверх него старый с примененным масштабированием. Например:
double scale = 2;
BufferedImage scaledBi = new BufferedImage((int)(bi.getWidth()*scale), (int) (bi.getHeight()*scale), bi.getType());
Graphics2D g2 = scaledBi.createGraphics();
g2.drawImage(bi, 0, 0, scaledBi.getWidth(), scaledBi.getHeight(), 0, 0, bi.getWidth(), bi.getHeight(), null);
scaledBi
теперь содержит ваше масштабированное изображение. Обратите внимание, что это не вектор, поэтому я не уверен в качестве. Для повышения качества масштабирования вы можете поиграть с подсказками .