我正在制作带有自定义文字图标的游戏,我想从一张图片中加载每张图片。如何将一个图像分割成一堆其他图像,这些图像只是原始图像的一部分?
答案 0 :(得分:2)
我认为您正在寻找CropImageFilter
用于裁剪图像的ImageFilter类。此类扩展了基本的ImageFilter类,以提取现有Image的给定矩形区域,并为仅包含提取区域的新图像提供源
您必须将其与FilteredImageSource
此类是ImageProducer接口的一个实现,它接受现有图像和过滤器对象,并使用它们为原始图像的新过滤版本生成图像数据。
e.g。
public class Part extends JPanel {
private Image src;
public Part(Image src) {
this.src = src;
}
public Image create(int xPos, int yPos, int width, int height) {
ImageFilter cropImagefilter = new CropImageFilter(xPos, yPos, width, height); //see constructor detail
FilteredImageSource filteredImageSource = new FilteredImageSource(this.src.getSource(), cropImagefilter)
Image part = createImage(filteredImageSource);
return part;
}
}