Изрязване на изображение в Java [затворено]

Опитвам се да изрежа определена част от изображението в Java и да го запиша обратно на диска. Има ли функция, която изрязва изображенията от X, Y с определената ширина и височина?


person Akash    schedule 25.10.2011    source източник
comment
Опитвали ли сте да напишете java image crop в любимата си търсачка? Или в полето за търсене на stackoverflow?   -  person Jean-François Corbett    schedule 25.10.2011
comment
comment
Защо, за бога, това беше затворено като твърде широко? Дори вече има публикуван ясен и кратък отговор!   -  person aioobe    schedule 06.11.2015


Отговори (1)


Обикновено бихте

  1. Създайте нов BufferedImage (dst по-долу) с желаната ширина и височина.
  2. Хванете неговия Graphics обект
  3. Заредете оригиналното .jpeg изображение (src по-долу)
  4. Оцветете желаната част от това върху BufferedImage
  5. Запишете буферираното изображение във файл с помощта на ImageIO.

В код:

Image src = ImageIO.read(new File("duke.jpg"));

int x = 10, y = 20, w = 40, h = 50;

BufferedImage dst = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB);
dst.getGraphics().drawImage(src, 0, 0, w, h, x, y, x + w, y + h, null);

ImageIO.write(dst, "png", new File("duke_cropped.png"));

Предвид този .jpg...

въведете описание на изображението тук

...Той генерира този .png:

въведете описание на изображението тук

person aioobe    schedule 25.10.2011