我 要 将一个大图 切成小图片部分代码如下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 = 256;
private static final int TILE_HEIGHT = 256; public static void main(String[] args) throws Exception {
// create the tiles
String[][] sources = { { "tiles/mapSpain.jpg", "1" },
{"tiles/mapSpain-smaller.jpg", "2"} };
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"+source[1]+"/" +
"x" + x + "y" + y + "z" + ".jpg"));
}
}
}
}
}
这是一个将大图切成小图的程序
我现在要一个界面 能选择文件 或者直接输入路径
要选择或输入保存路径 文件名的格式要这样子的 "x" + x + "y" + y + "z" + ".jpg"));
x y 是上面两个循环里面的自增变量要是这些要求麻烦的话 就不要了
不管什么办法 只要切出来的文件名 的命名不要变就行
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 = 256;
private static final int TILE_HEIGHT = 256; public static void main(String[] args) throws Exception {
// create the tiles
String[][] sources = { { "tiles/mapSpain.jpg", "1" },
{"tiles/mapSpain-smaller.jpg", "2"} };
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"+source[1]+"/" +
"x" + x + "y" + y + "z" + ".jpg"));
}
}
}
}
}
这是一个将大图切成小图的程序
我现在要一个界面 能选择文件 或者直接输入路径
要选择或输入保存路径 文件名的格式要这样子的 "x" + x + "y" + y + "z" + ".jpg"));
x y 是上面两个循环里面的自增变量要是这些要求麻烦的话 就不要了
不管什么办法 只要切出来的文件名 的命名不要变就行
解决方案 »
- 如何使JTree中个节点被选中!
- 求有经验的前辈来指点
- 在Spring docs 的index.html内的“查找”用不了!
- 显示/隐藏ComboBox控件的滚动条提示
- 请问在程序里面的 类明.class 代码是什么意思?
- classpath问题
- 高分相送, 很急啊, 大家来看看 ================================================
- 我学JAVA(JSP,写JAVABEAN,SERVLET,JSP+MS SQL 做网上构物系统)有一段时间了,可以到现在还是一头雾水!还不知道JAVA倒底是做什么的
- javamail写的邮件系统,显示邮件有乱码,到底要怎样才能显示正常
- 我在JFrame中添加了JComponent组件,为什么就监听不到键盘了,要如何监听到键盘?
- javax.servlet.ServletException: oracle.jdbc.driver.ScrollableResultSet.getBlob(Ljava/lang/String;)Ljava/sql/Blob;这是什么错误?
- 求一个字符串算法
?你不是已经做得很好了么?