JAVA 在图像处理中的应用
相信大家平时碰到过一些在JAVA中对图像进行处理的需求,比如需要对上传的图片加上自己的签名或图标,或者生成和解析动态的GIF图片,以及处理PSD文件图像信息。本文就JAVA在图像处理中一些基本应用进行了介绍。希望通过能够对大家在以后的图像处理中有些帮助。
一、对一个现有的图片进行文字和图标的合成
我们先从下面的这段简单的代码开始
import java.awt.*;
import javax.imageio.ImageIO;
import java.awt.image.*;
import java.io.*;
import com.sun.image.codec.jpeg.*;
/**
* @author Anders.Hu
* 2005-01-12
*/
public class Test {
public static void main(String[] args) {
try {
//读取模板图片内容
BufferedImage image = ImageIO.read(new FileInputStream("c:\\1.jpg"));
Graphics2D g = image.createGraphics();//得到图形上下文
g.setColor(Color.BLACK); //设置画笔颜色
//设置字体
g.setFont(new Font("宋体", Font.LAYOUT_LEFT_TO_RIGHT, 15));//写入签名
g.drawString("很好吃诶,要不要也来一口?",43, image.getHeight() - 10);
g.dispose();
FileOutputStream out = new FileOutputStream("c:\\2.jpg");
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
encoder.encode(image);
out.close();
} catch(Exception e) {
e.printStackTrace();
}
}
}
相信大家看到这里已经知道了大致的操作过程,我想我还是在这里把基本的原理简单说明一下便于对后续内容的阐述:首先我们通过javax.imageio.ImageIO的read方法读取图像在BufferedImage中,然后我们可以通过BufferedImage的createGraphics方法取得图像的上下文便于对图像的处理,如加上自己喜爱的文字或图片等,最后调用JPEGCodec的encode方法进行JPEG编码,然后就是保存到文件中了。
需要提出的是JPEGCodec是非标准类,如果程序是运行JDK1.4以上版本的话,可以采取以下代码进行JPEG编码:
ImageIO.write(image, "JPEG", out);
&n
相关文档:
package com.chinacache.utils;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.apache.log4j.Logger;
public class FileUtils {
private static final Logger logger = Logger.getLogger(FileUtils.class);
/**
* 移动文件到指定目 ......
好久了,都想向学习JAVA的新人写点东西,因为我实在看不下去了,看不下去很多误导JAVA学习者的观点,遍及天下!网络让好的东西流行,可是往往也让错的东西出现的次数多了变的好像正确了,三人成虎,指鹿为马似乎在网络里更加容易发生,好了废话不说,请看我细细向你道来。
秘密一,学习JAVA好未必可以找到JA ......
Java中I/O初探
实例:读取文件test.Txt
代码:
try {
FileReader fReader=new FileReader("c:\\java\\test.txt");
BufferedReader bReader=new BufferedReader(fReader);
while(true) {
String temp=bReader.readLine();
&nbs ......
1. 阅读下列代码回答问题(第一个Java程序,理解PATH和CLASSPATH,学会使用javac和java命令)
view plaincopy to clipboardprint?
package cn.edu.uibe;
public class HelloWorld {
public static void main(String[] args) {
&nb ......