实现方式很多,可以用jdk原生api,也可以用框架,如jhlabs。
这里只介绍原生api实现。
代码如下
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import javax.imageio.ImageIO;
public class Test {
public static void main(String[] args) {
try {
BufferedImage src = ImageIO.read(new File("e:\\1.gif")); // 读入源图像
int width = src.getWidth(); // 源图宽
int height = src.getHeight(); // 源图高
Image image = src.getScaledInstance((int) (width), (int) (height),
Image.SCALE_DEFAULT);
BufferedImage tag = new BufferedImage((int) (width),
(int) (height), BufferedImage.TYPE_BYTE_GRAY);
Graphics2D g = tag.createGraphics();
g.drawImage(image, 0, 0, null);
g.dispose();
OutputStream out = ne