В настоящее время я работаю с изображениями PNG, и я немного заблокирован, потому что задача, которая не знает, как исправить ...
Это сценарий.У меня есть PNG-файл 655x265 пикселей со штрих-кодом внутри.Что мне нужно сделать, это «расширить» ширину изображения, чтобы включить пустую зону слева от изображения, вот так:
Проблема в том, что при выполнении кода ничего не происходит с размерами изображения:
public static void main(String[] args)
{
try
{
String path = "C:\\Users\\xxx\\Desktop\\a.png";
BufferedImage image = ImageIO.read(new File(path));
resizeImage(path, image.getWidth() + 100, image.getHeight());
Graphics graphics = image.getGraphics();
graphics.setColor(Color.BLACK);
graphics.setFont(new Font("Verdana", Font.PLAIN, 40));
graphics.drawString("TTT", 5, 250);
graphics.dispose();
ImageIO.write(image, "png", new File(path));
System.out.println("Image created");
} catch (Exception e)
{
System.out.println(e.getMessage());
e.printStackTrace();
}
System.out.println("Fin");
}
public static void resizeImage(String path, int newHeight, int newWidth) throws IOException
{
File inputFile = new File(path);
BufferedImage inputImage = ImageIO.read(inputFile);
BufferedImage outputImage = new BufferedImage(newWidth, newHeight, inputImage.getType());
Graphics2D graphics = outputImage.createGraphics();
graphics.drawImage(inputImage, 0, 0, newWidth, newHeight, null);
graphics.dispose();
ImageIO.write(outputImage, "png", new File(path));
inputImage.flush();
outputImage.flush();
}
Знаете ли вы, что я делаю неправильно?Один из моих первых опытов работы с файлами изображений, и, вероятно, я неправильно понял что-то важное ...
Редактировать: Решение предоставлено в комментариях. Ссылка