我有一个任意大小的图像,我需要用负边界值裁剪它。
所以,基本上我有图像(1),我想把它裁剪成(2)的尺寸。
(1) +---------------------------+ (2) | | +-----------------------------+ | | | | | | | | | | | | | | | | | +-----------------------------+ | | | +---------------------------+
有关如何在Java中解决此问题的任何想法?
我尝试了Scalr库,但它不支持负裁剪边界。
答案 0 :(得分:2)
此任务不需要库。
您可以创建以这种方式产生的新图像:
BufferedImage newImage = new BufferedImage(width, height, imageType);
然后你可以用这种方式从旧图像裁剪出你需要的部分:
BufferedImage tempImage = oldImage.getSubimage(0, y, otherWidth, height);
然后,您将tempImage
放入newImage
:
Graphics2D g2 = newImage.createGraphics();
g2.drawImage(tempImage, x, 0, otherWidth, height, null);
g2.dispose();
width
是image1宽度height
是image1宽度x
是x轴上2个图像之间的顶部交点y
是y轴上2个图像之间的顶部交叉点otherWidth
是width - x
答案 1 :(得分:-1)
你不能把图像放在一个div组中,以显示为具有设定高度和宽度的块,然后将图像放在包含div的右边吗?