首頁 > JAVA > 如何合併兩張圖加淡化效果 For Java

如何合併兩張圖加淡化效果 For Java

2009年2月4日 發表評論 閱讀評論

最近想可否自動加上一些浮水印的效果
平常很少用程式來進行影像處理,

參考了java合并图片 – Ivan Zhang's 弹丸之地 – CSDNBlog ,發現Java實作還真容易
怪不得Java可以成為目前的主流程式語言之一。

小弟加以調整,把小圖淡化合併於左下角,感覺會有點浮水印的效果,近幾年這種效果蠻討喜的

以下這是原圖,就去網路找最近家中在看的韓劇「愛情殺手吳水晶」的圖片:

用戶插入圖片

然後要合併的,就拿Keroro軍曹來吧,會比較討喜點:

用戶插入圖片

程式如下:

import java.awt.AlphaComposite;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import javax.imageio.ImageIO;
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder;

public class DrawImage{
   public static void main(String[] args) throws Exception{
       InputStream imagein=new FileInputStream(“c:\\test\\a.jpg”);
       InputStream imagein2=new FileInputStream(“d:\\test\\b.gif”);
       BufferedImage image=ImageIO.read(imagein);
       BufferedImage image2=ImageIO.read(imagein2);
       Graphics2D g = image.createGraphics();
       g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.6f));
       g.drawImage(image2,image.getWidth()-image2.getWidth(),image.getHeight()-image2.getHeight(),null);
       OutputStream out=new FileOutputStream(“c:\\test\\ok.jpg”);
       JPEGImageEncoder enc=JPEGCodec.createJPEGEncoder(out);
       enc.encode(image);
       imagein.close();
       imagein2.close();
       out.close();
   }
}


合併後如下:

用戶插入圖片

很容易吧,幾行程式就可以有這樣的效果真是不錯!!

以上圖片引用,謝謝不知名網站借來學習!

Be Sociable, Share!
Categories: JAVA Tags: , ,
  1. 目前尚無任何的評論。
  1. 目前尚無任何 trackbacks 和 pingbacks。

*