我想写一个 map 查看器,我必须处理大 map 图像文件的小图块,并且需要平铺大图,现在的问题是将大图平铺到小图块(250 * 250 像素或类似大小)
等等,我用 ImageMagic 程序来做,但有问题
现在还有其他可以平铺的编程方法或应用程序吗?
我可以用 Java 中的 JAI 来做吗?如何?
最佳答案
你有没有试过自己用java做?我尝试了(警告,大图像,可能会导致浏览器崩溃,请使用“另存为...”) this image 。虽然需要额外的内存运行( -Xmx400M
)。
public class ImageTile {
public static void main(String[] args) throws IOException {
Dimension tileDim = new Dimension(250, 250);
BufferedImage image = ImageIO.read(new File(args[0]));
Dimension imageDim = new Dimension(image.getWidth(), image.getHeight());
for(int y = 0; y < imageDim.height; y += tileDim.height) {
for(int x = 0; x < imageDim.width; x += tileDim.width) {
int w = Math.min(x + tileDim.width, imageDim.width) - x;
int h = Math.min(y + tileDim.height, imageDim.height) - y;
BufferedImage tile = image.getSubimage(x, y, w, h);
ImageIO.write(tile, "JPG", new File("tile-"+x+"-"+y+".jpg"));
}
}
}
}