imagetiler.java

来自「ajax修炼之道源代码。很难下到的。现在奉献给大家。」· Java 代码 · 共 46 行

JAVA
46
字号
/*** * Excerpted from "Pragmatic Ajax" * We make no guarantees that this code is fit for any purpose.  * Visit http://www.pragmaticprogrammer.com/titles/ajax for more book information.***/package com.ajaxian.amaps;import org.apache.batik.apps.rasterizer.DestinationType;import org.apache.batik.apps.rasterizer.SVGConverter;import javax.imageio.ImageIO;import java.io.File;import java.awt.*;import java.awt.image.BufferedImage;public class ImageTiler {    private static final String BASE_DIR = "resources/";    private static final int TILE_WIDTH = 100;    private static final int TILE_HEIGHT = 100;    public static void main(String[] args) throws Exception {        // create the tiles        String[][] sources = { { "tiles/mapSpain.jpg", "0" },                {"tiles/mapSpain-smaller.jpg", "1"} };        for (int i = 0; i < sources.length; i++) {            String[] source = sources[i];            BufferedImage bi = ImageIO.read(new File(BASE_DIR + source[0]));            int columns = bi.getWidth() / TILE_WIDTH;            int rows = bi.getHeight() / TILE_HEIGHT;            for (int x = 0; x < columns; x++) {                for (int y = 0; y < rows; y++) {                    BufferedImage img = new BufferedImage(TILE_WIDTH, TILE_HEIGHT,                            bi.getType());                    Graphics2D newGraphics = (Graphics2D) img.getGraphics();                    newGraphics.drawImage(bi, 0, 0, TILE_WIDTH, TILE_HEIGHT,                            TILE_WIDTH * x, TILE_HEIGHT * y,                            TILE_WIDTH * x + TILE_WIDTH,                            TILE_HEIGHT * y + TILE_HEIGHT,                            null);                    ImageIO.write(img, "JPG", new File(BASE_DIR + "tiles/" +                            "x" + x + "y" + y + "z" + source[1] + ".jpg"));                }            }        }    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?