我如何可以裁剪在Java负作物边界的形象呢?(How can I crop an image wit

2019-10-17 06:10发布

我有一些任意大小的图像,我需要负边界值来裁剪。

所以,基本上我有图像(1),我想它作物(2)的尺寸。

         (1)
          +---------------------------+
 (2)      |                           |
  +-----------------------------+     |
  |       |                     |     |
  |       |                     |     |
  |       |                     |     |
  |       |                     |     |
  +-----------------------------+     |
          |                           |
          +---------------------------+

关于如何解决这个在Java中的任何想法?

我试着Scalr库,但它不支持负作物边界。

Answer 1:

你并不需要一个库完成这个任务。

您可以创建导致这样的新形象:

BufferedImage newImage = new BufferedImage(width, height, imageType);

然后,你可以裁剪你从旧图像这种方式需要一块:

BufferedImage tempImage = oldImage.getSubimage(0, y, otherWidth, height);

然后,您将tempImagenewImage

Graphics2D g2 = newImage.createGraphics();
g2.drawImage(tempImage, x, 0, otherWidth, height, null);
g2.dispose();
  • width是图像1宽度
  • height是image1的宽度
  • x是在x轴上的2个图像之间的顶部交叉点
  • y是在y轴上的2个图像之间的顶部交叉点
  • otherWidthwidth - x


Answer 2:

CANT你只是把图像一个div组内显示为与一组块高度和宽度,然后只将图像定位到包含div的正确?



文章来源: How can I crop an image with negative crop-boundaries in Java?