1

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

所以,基本上我有图像(1),我想把它裁剪成(2)的尺寸。

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

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

我试过Scalr库,但它不支持负裁剪边界。

4

2 回答 2

3

此任务不需要库。

您可以通过以下方式创建新图像:

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是 image1 的宽度
  • height是 image1 的宽度
  • x是 x 轴上 2 个图像之间的顶部交点
  • y是 y 轴上 2 个图像之间的顶部交点
  • otherWidthwidth - x
于 2012-09-17T12:25:48.307 回答
-1

您不能将图像放在一个 div 集中以显示为具有设定高度和宽度的块,然后将图像放置在包含 div 的右侧吗?

于 2012-09-17T12:14:49.950 回答