Опитвам се да изрежа определена част от изображението в Java и да го запиша обратно на диска. Има ли функция, която изрязва изображенията от X, Y с определената ширина и височина?
Изрязване на изображение в Java [затворено]
comment
Опитвали ли сте да напишете java image crop в любимата си търсачка? Или в полето за търсене на stackoverflow?
- person Jean-François Corbett   schedule 25.10.2011
comment
възможен дубликат на Как да добавите 20 пиксела бяло в горната част на съществуващ файл с изображение?
- person Cerbrus   schedule 24.09.2014
comment
Защо, за бога, това беше затворено като твърде широко? Дори вече има публикуван ясен и кратък отговор!
- person aioobe   schedule 06.11.2015
Отговори (1)
Обикновено бихте
- Създайте нов
BufferedImage
(dst
по-долу) с желаната ширина и височина. - Хванете неговия
Graphics
обект - Заредете оригиналното .jpeg изображение (
src
по-долу) - Оцветете желаната част от това върху
BufferedImage
- Запишете буферираното изображение във файл с помощта на
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