public static void generatePng(InputStream source, OutputStream target, int targetW, int targetH) throws IOException {
        BufferedImage img = ImageIO.read(source);
        BufferedImage targetImage = generate(img, targetW, targetH);
        PngEncoder encoder = new PngEncoder(targetImage, false);
        encoder.setCompressionLevel(9);
        target.write(encoder.pngEncode());
        //new lib.graphic.png.PngEncoder()
    }这个代码的功能是把一个各种图片转换成任意尺寸的png图片

解决方案 »

  1.   

    我怀疑是启动的问题,应当在图形环境启动,不能在远端TELNET启动
      

  2.   

    at java.lang.Class.forName0(Native Method)是不是没有相应的native dll
      

  3.   

    在JVM启动的时候加入参数
    -Djava.awt.headless=true
    就可以了
      

  4.   

    linux下怎么加?是修改配置文件吗?
      

  5.   

    这个........你总会有个启动文件的吧??java -Djava.awt.headless=true ..... YouClass你是怎么启动JVM的???
      

  6.   

    linux下 
    有个/etc/profile
    在这里我看到有这个,
    JAVA_HOME=/usr/java/j2sdk1.4.2_04export JAVA_HOMECLASSPATH=/usr/java/j2sdk1.4.2_04/lib:/usr/java/j2sdk1.4.2_04/jre/libexport CLASSPATHPATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/binexport PATHLANG=zh_CN.GB2312export LANG我不敢保证是不是加在这里面啊
      

  7.   

    GFox(小狐) 的意思是在你运行的时候指明java.awt.headless。
      

  8.   

    错!!
    应该改你启动JVM的文件!比如说weblogic的话,应该改startWebLogic.sh里面有一句(最后一句)
    java -DXXXXX XXXX 
    你就在这里加入-Djava.awt.headless=true变成如下的样子
    java -DXXXXX -Djava.awt.headless=true ..... YouClass
      

  9.   

    楼上的,我说的“错”的意思是指不是修改/etc/profile文件
    :D