java – 切割一个非常大的jpg地图图像,49000 * 34300像素
作者:互联网
我想写一个mapviewer,我必须工作大地图图像文件的小瓷砖,需要平铺大图像,现在的问题是平铺大图像到小瓷砖(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"));
}
}
}
}
标签:java,jai,tiling 来源: https://codeday.me/bug/20190610/1213504.html