//给你一个例子
import java.awt.image.BufferedImage;
import java.awt.*;
import com.sun.image.codec.jpeg.*;
import java.io.*;public class temp { /**
 * @param args
 */
public static void main(String[] args) {
// TODO Auto-generated method stub try {

  FileOutputStream t = new FileOutputStream("d:1.jpg");
  BufferedImage bi = new BufferedImage(200, 200, BufferedImage.TYPE_INT_RGB);
  Graphics2D g = bi.createGraphics();
  g.setBackground(Color.BLUE);
  g.clearRect(0, 0, 200, 200);
  g.drawString("Graph TEST!!",15,15);
  JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(t);
  JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(bi);
  param.setQuality(1.0f, false);
  encoder.setJPEGEncodeParam(param);
  encoder.encode(bi);
  t.close();
  System.out.println("ok");
}
catch(Exception e)
{
System.out.println("error");
}
 }

解决方案 »

  1.   

    to  keiy:
        谢谢您的答复!
        我明白你的意思,是先存在图片,然后在图片上写字。
        这里涉及到换行、图片大小和文字长度问题,在图片显示的时候也能转化为string格式的文字显示么,是不是Graphics2D能完成我说的,sorry,我对Graphics2D的相关属性还没有看过
      

  2.   

    在图像上输出文字,这是GUI的基本功能
    在图片显示的时候也能转化为string格式的文字显示么?
    不是很明白,如果是要将图像转成string,就有难度了(OCR?)
      

  3.   

    估计不是OCR吧?
    估计是要格式化的String->BufferedImage,
    主要是确定图片的长宽,你的string有容器吗?有没有如bold的一些属性?要根据string的具体格式来确定BufferedImage。
      

  4.   

    String 没有容器,就是string格式的一段文字,把它输出到图像上,输出大小,分行是不是我要预先定义好,使用drawString一行一行的输出?
        图像上的文字输出为string是难度比较大,我放弃这项了