如何合併兩張圖加淡化效果 For Java
最近想可否自動加上一些浮水印的效果
平常很少用程式來進行影像處理,
參考了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();
}
}
合併後如下:
很容易吧,幾行程式就可以有這樣的效果真是不錯!!
以上圖片引用,謝謝不知名網站借來學習!
近期留言