java - Java SubImage 未完全获取每个图像
问题描述
我正在制作一个游戏,我最近带来了一个尺寸为 576 × 528 的精灵表。我不能在这里展示或发布它,因为它不是公共领域或任何合法的胡言乱语。但是,我希望在每张图像中拍摄 16x16 的图像中的所有微小图像。代码编译没有任何错误,这不是我的问题。我的主要问题是,当我遍历“Sprites”数组并获取存储在每个 Tile 对象中的每个 BufferedImage 并将其写入文件夹时,我只能得到不到一半的图像。我进行了进一步的调试,发现数组中的一些图块为空,这就是为什么它们没有被写出,但我似乎无法弄清楚为什么。
public class Sprites {
public SpriteSheet(String path) {
int cellSize = 16;
BufferedImage fullSheet = GameUtils.getImg(path);
sprites = new Tile[(fullSheet.getHeight()/cellSize)*(fullSheet.getWidth()/cellSize)];
System.out.println(fullSheet.getWidth());
int r,c;
BufferedImage img;
for(r = 0; r < 33; r++)
for(c = 0; c < 36; c++) {
img = org.getSubimage(c*cellSize,r*cellSize,cellSize,cellSize);
sprites[r*cellSize+c] = new Tile(img);
}
}
解决方案
推荐阅读
- java - 如何比较java中基类的派生对象?
- java - 用于 X509 证书验证问题的 Spring Webflux + Spring Security:x509.X509CertImpl 无法转换为类 java.lang.String
- aws-lambda - AWS API Gateway 总是将 base64 编码的正文生成到 Lambda 中
- html - 如何在与 css 中的图像相同大小的图像上获得线性渐变?
- arrays - 第 K 个最大和连续子数组
- recursion - 针对 x86_64 的 Lisp 编译器的递归函数定义
- c# - 反序列化 JSON C#
- python - 如何使用列表列表作为 Python 中函数的参数
- kubernetes - 如何配置类型为 ClusterIP 且没有会话亲缘关系的 OpenShift 集群?
- postman - 在邮递员跑步者中循环我的数据文件,我可以安排跑步者本身的个人请求吗?