注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Lable

........................................

 
 
 

日志

 
 

Java合成图片  

2017-07-06 19:13:22|  分类: Java笔记 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
开发过程中是否遇到过需要使用java动态合成图片的需求?
比如:
1 合成搞笑、炫耀照片,比如毕业季,替换某某大学录取通知书的中的名字为自己的名字
2 微信传播拉粉活动,将用户头像、昵称、专属二维码合成到宣传海报上,用于拉新

下面代码是个简单的合成示例

import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;

public class Test {

public static void main(String[] args) {
String bgImg = "http://img0.ph.126.net/NFmSb7n8-rCClqEXaR-C1w==/6632282726049120231.jpg";
String nickname = "小仙仙";
String headImg = "http://img0.ph.126.net/-mA4gUuVijLscjRIPjGYkQ==/6632390478188648874.jpg";
try {
URL bgUrl = new URL(bgImg);
URLConnection bgConn = bgUrl.openConnection();
bgConn.connect();
InputStream bgInputStream = bgConn.getInputStream();
BufferedImage bg = ImageIO.read(bgInputStream);

Graphics2D g2d = bg.createGraphics();
//字体平滑
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g2d.setRenderingHint(RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_DEFAULT);

//微信昵称
g2d.setColor(Color.BLACK);
g2d.setFont(new Font("宋体", Font.PLAIN, 30));
g2d.drawString(nickname, (640 - 100)/2, 280);

//头像
URL headUrl = new URL(headImg);
URLConnection headConn = headUrl.openConnection();
headConn.connect();
InputStream headOverImg = headConn.getInputStream();
BufferedImage headOver = ImageIO.read(headOverImg);
headOverImg.close();
g2d.drawImage(headOver, (640 - 100)/2, 150, 100, 100, null);

g2d.dispose();

File file = new File("E://img/bbb.jpg");
ImageIO.write(bg, "png", file); //png 去除锯齿


} catch (Exception e) {
e.printStackTrace();
}
}
}

合成效果:

Java合成图片 - Vic.li - Lable
 
  评论这张
 
阅读(2)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017