你想怎么个合法?是两张图片并排合起来还是其中一张小的图片盖在大的图片上?
并排合好解决:用一个BufferedImage对象,宽设成两张图像的宽之和,高取大图的高。用Graphics g=image.getGraphics();得到Graphics对象,
再用g.drawImage把两张图片位置排一下画进去,flush()后编码保存就行了。
覆盖就更容易了:BufferedImage的大小和大图一样,然后和上面一样,记得先画大图再画小图,保存,OK!
不过你要想像Photoshop那样实现图像的融合就麻烦了,只好把像素取出来一个个分析,把两张图的像素做一定运算再写到文件里去,没做过!
说了一大通,不知道对你有没有帮助。

解决方案 »

  1.   

    // Read the two images.
         pb = new ParameterBlock();
         pb.addSource(s1);
         RenderedImage src1 = (RenderedImage)JAI.create("stream", pb);     pb = new ParameterBlock();
         pb.addSource(s2);
         RenderedImage src2 = (RenderedImage)JAI.create("stream", pb);     // Create the ParameterBlock for the operation
         pb = new ParameterBlock();
         pb.addSource(src1);
         pb.addSource(src2);     // Create the Add operation.
         RenderedImage dst = (RenderedImage)JAI.create("add", pb);
      

  2.   

    没有太懂你的意思。
    一般图片的合成使用的是多图层和Alpha blending的技术,象photoshop。
      

  3.   

    jiaojian77(我也在学Java) :
    我照着你的方法写的,运行的时候出错:
    java.lang.IllegalArgumentException: operation "Stream" requires 2 parameter obje
    ct(s).
    代码如下:
    OutputStream out = new BufferedOutputStream(new FileOutputStream ("g:\\ScreenShot.jpg")) ; 
        source = JAI.create("fileload", "1.bmp");  
    PlanarImage  source2 = JAI.create("fileload", "tttt.png");
      ParameterBlock   pb = new ParameterBlock();
     pb.addSource(source);
     RenderedImage src1 = (RenderedImage)JAI.create("stream", pb);
     pb = new ParameterBlock();
     pb.addSource(source2);
     RenderedImage src2 = (RenderedImage)JAI.create("stream", pb);
     pb = new ParameterBlock();
     pb.addSource(src1);
     pb.addSource(src2);
     RenderedImage dst = (RenderedImage)JAI.create("add", pb);
    JAI.create("encode", dst, out,"PNG", null); 
        out.flush();
      

  4.   

    : beyond_xiruo(苏鸿) 
    能给个连接嘛?找了半天,也没有找到!
      

  5.   

    改写一下
    RenderedImage src1 = (RenderedImage)JAI.create("stream", pb,null);RenderedImage src2 = (RenderedImage)JAI.create("stream", pb, null);RenderedImage dst = (RenderedImage)JAI.create("add", pb, null);
      

  6.   

    Eraserpro(工作好难找啊!租房子好贵啊!...) 
    讲的很不错啊,认同 Eraserpro(工作好难找啊!租房子好贵啊!...)