在网上找了很多算法,用imageio压缩的,JDK1.4的不支持(因为我们用的domino7jdk版本是1.4,不能升级)
还有的只能支持24位图的转换
还有的要写dll文件。
有没有高手可以用java代码帮小弟解决标题里的问题,大分感谢。

解决方案 »

  1.   

    用的domino7jdk版本是1.4,不能升级?
    jdk高版本都是兼容低版本的啊,为什么不能升级
      

  2.   

    dimino jdk 是自己封装好的
      

  3.   

    不能直接用文件流。另存为 .jpg格式的图片?
      

  4.   

    应该用javax.media,看看这个
    https://jai.dev.java.net/binary-builds.html#Release_builds
      

  5.   

    下载那个JAI-API的JRE安装,安装到JRE目录,lib/ext目录下面有2个文件:jai_core.jar,jai_codec.jar,把它们放到项目中
    import java.io.FileOutputStream;
    import java.io.OutputStream;import javax.media.jai.JAI;
    import javax.media.jai.RenderedOp;import com.sun.media.jai.codec.ImageCodec;
    import com.sun.media.jai.codec.ImageEncoder;
    import com.sun.media.jai.codec.JPEGEncodeParam;public class Bmp2Jpg {
    public static void main(String[] args) throws Exception{
      String input ="d:/1.bmp";
      String output="d:/2.jpg";
      RenderedOp src1=JAI.create("fileload",input);
      OutputStream os1 =new FileOutputStream(output);
      JPEGEncodeParam param1 = new JPEGEncodeParam();
      ImageEncoder enc1 = ImageCodec.createImageEncoder("JPEG", os1,param1);
            enc1.encode(src1);
            os1.close();
    }   
    }
      

  6.   

    很遗憾,确实不能;你这种做法只是在隐瞒Win系统或者某个浏览器欺骗观众认为他们会根据扩展名读文件的事实而已。
      

  7.   

    我觉得应该先对文件结构进行分析,然后把BPM格式进行分解并转换。
      

  8.   


    谢谢虽然这个方法没有试过,但是我已经使用jimi.jar包的方法完成了bmp向jpg的转换,转换后压缩就都正常,这个转换程序非常不错,你也可以看看。