问题描述
|
我已经尝试了大约一个星期。每次我尝试尝试失败的尝试。所以我转向复制其他代码...他们说代码对他们有用...但对我来说却失败了。
我最终喜欢的这段代码来自以下内容。
如何在Java中裁剪图像(StackOverflow)
因此,从那以后,我基本上复制了该文件并进行了复制。
import java.awt.Graphics;
import java.awt.Rectangle;
import java.awt.image.BufferedImage;
public class ImageEditor {
public BufferedImage crop(BufferedImage src,Rectangle rect) {
BufferedImage dest = new BufferedImage(rect.getWidth(),rect.getHeight(),BufferedImage.TYPE_INT_RGB);
Graphics g = dest.getGraphics();
g.drawImage(src,rect.getWidth(),rect.getX(),rect.getY(),rect.getX() + rect.getWidth(),rect.getY() + rect.getHeight(),null);
g.dispose();
return dest;
}
}
此代码出现以下错误。
我在这里先向您的帮助表示感谢!
解决方法
第一个错误表明它无法找到方法
drawImage(BufferedImage,int,double,<nulltype>)
。所有这些双精度值都来自矩形,对吗?
图形具有drawImage(BufferedImage,ImageObserver)
方法。那可能就是您要使用的那个。您应该改用int值。
第二个错误是找不到构造函数BufferedImage(double,int)
。这是一个类似的问题。
矩形公开int精度字段x
,y
,height
和width
。你可以使用它们吗?例如rect.x
代替rect.getX()