Как установить исходную позицию обрезки с помощью imgscalr?

Я попытался использовать библиотеку imgscalr с помощью следующего метода кадрирования:

Scalr.crop(image, height, width);

Но он всегда обрезается, начиная с левого верхнего угла изображения. Могу ли я настроить это поведение, чтобы начать в правом нижнем углу или в центре?

2 ответа

Решение

Определенно - просто используйте другой crop операция, которая принимает аргументы x,y,width,height.

//center
Scalr.crop(image,
    (image.getWidth() - width) / 2, (image.getHeight() - height) / 2,
    width, height);

//top left:
Scalr.crop(image, width, height);

//top right:
Scalr.crop(image,
    image.getWidth() - width, 0,
    width, height);

//bottom left:
Scalr.crop(image,
    0, image.getHeight() - height,
    width, height);

//bottom right:
Scalr.crop(image,
    image.getWidth() - width, image.getHeight() - height,
    width, height);
Другие вопросы по тегам