谢谢大哥呀!
我的email:[email protected]

解决方案 »

  1.   

    试试看这段代码行不行。import java.awt.*;
    import java.awt.event.*;
    import java.util.*;
    import java.awt.image.*;
    import java.io.*;
    import com.sun.image.codec.jpeg.*;
    import javax.swing.*;public class ChartGraphics {
      BufferedImage image;
      private void createImage(String fileLocation) {
        try {
          FileOutputStream fos = new FileOutputStream(fileLocation);
          BufferedOutputStream bos = new BufferedOutputStream(fos);
          JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(bos);
          encoder.encode(image);
          bos.close();
        } catch(Exception e) {
          e.printStackTrace();
        }
      }  public void graphicsGeneration(ImageIcon icon,String fileName) {    ChartGraphics chartGraphics = new ChartGraphics();
        chartGraphics.image = new BufferedImage(icon.getIconWidth(),icon.getIconWidth(),
                BufferedImage.TYPE_3BYTE_BGR);
        Graphics graphics = chartGraphics.image.getGraphics();
        Color oldColor = graphics.getColor();
        graphics.drawImage(icon.getImage(),0,0,icon.getIconWidth(),icon.getIconHeight(),null);    //这里可以再画图形。
        //graphics.drawLine(10,10,80,80);
        //graphics.drawLine(30,30,40,40);    graphics.setColor(oldColor);
        chartGraphics.createImage(fileName);
      }  public static void main(String args[]){
          ImageIcon icon = new ImageIcon("E:/temp/exclam.gif");//读入Icon
          //这里加入画图形的代码。
          ChartGraphics chart = new ChartGraphics();
          chart.graphicsGeneration(icon, "E:/temp/aaa.jpeg");//写入文件
      }
    }
      

  2.   

    多谢大哥你的程序!
    不过要改为这样就可以了!
    再一次感谢大哥!import java.awt.*;
    import java.awt.event.*;
    import java.util.*;
    import java.awt.image.*;
    import java.io.*;
    import com.sun.image.codec.jpeg.*;
    import javax.swing.*;public class ChartGraphics {
      BufferedImage image;
      private void createImage(String fileLocation) {
        try {
          FileOutputStream fos = new FileOutputStream(fileLocation);
          BufferedOutputStream bos = new BufferedOutputStream(fos);
          JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(bos);
          encoder.encode(image);
          bos.close();
        } catch(Exception e) {
          e.printStackTrace();
        }
      }  public void graphicsGeneration(ImageIcon icon,String fileName) {    ChartGraphics chartGraphics = new ChartGraphics();
        chartGraphics.image = new BufferedImage(icon.getIconWidth(),icon.getIconWidth(),
                BufferedImage.TYPE_3BYTE_BGR);
        Graphics graphics = chartGraphics.image.getGraphics();
        //这里可以再画图形。
        graphics.drawLine(10,10,80,80);
        graphics.drawLine(30,30,40,40);
        graphics.setColor(Color.BLACK);
       // Color oldColor = graphics.getColor();
        graphics.drawImage(icon.getImage(),0,0,icon.getIconWidth(),icon.getIconHeight(),null);    graphics.setColor(oldColor);
        chartGraphics.createImage(fileName);
      }  public static void main(String args[]){
          ImageIcon icon = new ImageIcon("E:/temp/exclam.gif");//读入Icon
          //这里加入画图形的代码。
          ChartGraphics chart = new ChartGraphics();
          chart.graphicsGeneration(icon, "E:/temp/aaa.jpeg");//写入文件
      }
    }