j2sdk140安装包的demo中本身就有一个,而且作得很不错。

解决方案 »

  1.   

    GJA106(中文字符) :能否说明白点啊?到底是哪个demo?
      

  2.   

    GJA106(中文字符) ( ) 信誉:99  请你说清楚点。。关注关注
      

  3.   

    GJA106(中文字符),你说清楚啊!!
      

  4.   

    你用一下jfreechart包吧,网上就可以找到!
      

  5.   

    产生一个小图吧?
    sun有个jai包还是不错的,可以压缩图片大小
    当然jdk1.4的imageio更容易使用,不过在linux下面需要xwindow支持
    所以我推荐你用jai,写下一小段程序参考:
    import javax.media.jai.operator.*;
    import javax.media.jai.iterator.*;
    import javax.media.jai.operator.*;
    import javax.media.jai.*;
    import com.sun.media.jai.codec.*;
    import java.awt.image.renderable.*;
    import java.awt.image.*;
      public boolean smallpicture(String src,String dest,int w,int h)
      {
        try
        {
          ParameterBlockJAI loadPB = new ParameterBlockJAI("fileload");
          loadPB.setParameter("filename",src);
          PlanarImage source = JAI.create("fileload", loadPB);
          int orinWidth = source.getWidth();
          int orinHeigth = source.getHeight();      int newHeigth = orinHeigth * w/orinWidth;
          ParameterBlock pb = new ParameterBlock();
          pb.addSource(source);
          RenderableImage ren = JAI.createRenderable("renderable", pb);
          PlanarImage dst = (PlanarImage)ren.createScaledRendering(w, newHeigth, null);
          File fout = new File(dest);
          FileOutputStream out = new FileOutputStream(fout);
          JPEGEncodeParam param = new JPEGEncodeParam();
          param.setQuality(0.70f);//设置图片质量
          //这里你可以选择不同的图片编码,不过gif因为版权问题要压缩成png
          ImageEncoder encoder = ImageCodec.createImageEncoder("JPEG",out,param);
          encoder.encode(dst);
          out.close();
          return true;
        }
        catch (Exception e)
        {
          e.printStackTrace();
          return false;
        }
      }
      

  6.   

    gdsean(摇滚java),我用过imageio这个东西,可是不能生成bmp、tif格式的预览图。它对jpg、gif的图片格式支持得很好。能否提供支持bmp、tif格式的生成预览图的代码?
      

  7.   

    xiaozuidazhi(以前不会用,导致信誉分低_我是好人!) :jfreechart有这个功能吗?好像是做报表的工具啊?
      

  8.   

    jdk\demo\swingset里面的file chooser标签
    有源代码
      

  9.   

    楼主误会了,我没有推荐使用imageio
    我在说的是jai啊
    Java Advanced Imaging API(包含在Java Media API中)允许在Java应用中执行复杂的,高性能的图像处理.JAI API提供了存储图像的能力.目前,JAI API支持以下几种图像文件格式:BMP,JEPG,PNG,PNM,TIFF.下面给出了将图像存储到BMP文件的一段代码: 
    OutputStream os = new FileOutputStream(fileToWriteTo);BMPEncodeParam param = new BMPEncodeParam();ImageEncoder enc = ImageCodec.createImageEncoder("BMP", os, param);enc.encode(img);os.close();有关存储图像文件的编程指南请参考以下网页:http://java.sun.com/products/java-media/jai/
      

  10.   

    不好意思,几天没有上网! gdsean(摇滚java) :我先试试你的方法,如果成功就结贴给分了!
      

  11.   

    使用Java Advanced Imaging API解决了问题,结贴给分!