用java实现微信头像添加国旗

用java实现微信头像添加国旗

用java实现微信头像添加国旗

由于国庆前一阵子微信头像添加国旗刷爆朋友圈,节后换头像时无意中思考了下原理,感叹技术有复杂程序高大上的,也有能引起一时风靡但背后却简单无比的,就以这次的头像添加国旗功能为例。

原理:

1、拿到用户上传的头像图片。

2、把国旗图片画到用户头像图片的右下角。

没错,我认为实现思路就这么的简单。下面看看具体代码怎么写:

上传图片的我们不细讲,懂的自然懂,不懂的百度、google去。关键也只是怎么把国旗画到头像的右下角去,我们看下计算思路图片。

外面白色的就是用户头像,里面红色的为国旗的位置,根据Graphics2D的drawImage方法。

/**

* 绘画

*

* @param img 要绘制的图像,这里就是国旗

* @param x 横坐标起点

* @param y 纵坐标起点

* @throws width 绘制的高度

* @param height 绘制的高度

* @throws observer 图片观察者,传null即可

*/

drawImage(Image img,

int x, int y,

int width, int height,

ImageObserver observer)

我们只需要把x和y的坐标求出来,就可以实现把国旗画到头像右下角的位置了。x和y也很好求,只要用大图的横纵长度-小图的横纵长度就能分别求出x和y。

实现(伪代码):

//读取传进来的头像图片

BufferedImage icon = ImageIO.read(new InputStream("....头像"));

//创建头像的画布

Graphics2D icon2D = icon.createGraphics();

//用BufferedImage读取国旗图片

BufferedImage flag = ImageIO.read(new InputStream("...国旗"));

//计算出开始画图的坐标点,横坐标为

int x = icon.getWidth() - flag.getWidth();

int y = icon.getHeight() - flag.getHeight();

//在头像画布上开始画

icon2D.drawImage(flag,x,y,flag.getWidth(),flag.getHeight(),null);

//销毁头像画布

icon2D.dispose();

//保存

ImageIO.write(icon,"jpg",new File("...保存到新文件"));

光说没用,恒哥已经做了个简易版的,由于时间关系,页面也是最简单的版本。

体验

〔完〕

相关推荐

美拍视频上传不了怎么回事?如何解决?
365bet官网备用网站

美拍视频上传不了怎么回事?如何解决?

📅 06-27 👁️ 5991
炒面可以隔夜吃吗 炒面放冰箱能保存多久
365卫士杀毒清理大师

炒面可以隔夜吃吗 炒面放冰箱能保存多久

📅 06-29 👁️ 1092
开淘宝店审核需要多久?淘宝店铺审核不通过
365bet官网备用网站

开淘宝店审核需要多久?淘宝店铺审核不通过

📅 07-03 👁️ 2731