将图像居中并将其裁剪为固定像素大小 (java)
Center an image and the crop it to a fixed pixel size (java)
我目前正在做一个项目,用户可以绘制图像,然后用一个小型神经网络猜测绘制的图像(在 Java 中,相信我,我想在 Python 中做到这一点).
为此,我使用快照导出了 canvas。现在我想将 a 居中并裁剪成固定大小,比方说 50x50 像素。 Java 有什么方法吗?
public void guess(ActionEvent actionevent) {
SnapshotParameters params = new SnapshotParameters();
params.setFill(Color.TRANSPARENT);
WritableImage image = new WritableImage((int)canvas.getWidth(),(int)canvas.getHeight());
image = canvas.snapshot(params, null);
BufferedImage bufferedImage = new BufferedImage((int)image.getWidth(),(int)image.getHeight(), BufferedImage.TYPE_BYTE_GRAY);
bufferedImage = SwingFXUtils.fromFXImage(image, null);
String str = NNInterface.initNN(bufferedImage);
outputText.setText(str);
}
}
否则我不得不使用双数组或 smth。
感谢
crop a to a fixed size, let's say 50x50 pixel. Does Java have any methods for this?
嗯,在你的问题中你使用了 BufferedImage
标签和 Image
标签。
在 BufferedImage
class 中找到 getSubimage(...)
方法,可以裁剪图像。
在 Image
class 中找到 getScaledInstance(...)
方法,它允许您缩放图像。
人们会假设您在提问之前阅读了 API。可能是我没看懂问题?
我目前正在做一个项目,用户可以绘制图像,然后用一个小型神经网络猜测绘制的图像(在 Java 中,相信我,我想在 Python 中做到这一点). 为此,我使用快照导出了 canvas。现在我想将 a 居中并裁剪成固定大小,比方说 50x50 像素。 Java 有什么方法吗?
public void guess(ActionEvent actionevent) {
SnapshotParameters params = new SnapshotParameters();
params.setFill(Color.TRANSPARENT);
WritableImage image = new WritableImage((int)canvas.getWidth(),(int)canvas.getHeight());
image = canvas.snapshot(params, null);
BufferedImage bufferedImage = new BufferedImage((int)image.getWidth(),(int)image.getHeight(), BufferedImage.TYPE_BYTE_GRAY);
bufferedImage = SwingFXUtils.fromFXImage(image, null);
String str = NNInterface.initNN(bufferedImage);
outputText.setText(str);
}
}
否则我不得不使用双数组或 smth。
感谢
crop a to a fixed size, let's say 50x50 pixel. Does Java have any methods for this?
嗯,在你的问题中你使用了 BufferedImage
标签和 Image
标签。
在 BufferedImage
class 中找到 getSubimage(...)
方法,可以裁剪图像。
在 Image
class 中找到 getScaledInstance(...)
方法,它允许您缩放图像。
人们会假设您在提问之前阅读了 API。可能是我没看懂问题?