首先简单介绍一下项目的展示效果——>点击这里

《特别声明:如果你感觉图片比较有意思,也想要一张自己的专属头像,可以在评论区和我交流》

当你输入自己的QQ号,选择想要的校徽,就能直接获取到和自己QQ头像对应的校徽头像。

下面举个例子:

首先是找一个QQ号:1982326115(不是我QQ,单单是因为比较帅哦)

1982326115的QQ头像

那么选择中南大学的校徽外圈后的效果:

QQ1982326115添加校徽外圈后的效果

感觉就是天衣无缝,确实是棒棒哒,和ps的效果相差无几。要是换个这样子的头像的确是感觉高端大气上档次的说。那么,我们应当如何摆脱繁琐的PS,直接通过Java或者其他的语言来实现自动化一键添加校徽呢?下边娓娓道来:

第一步:设计程序的时候要有素材。这里的素材就是我们的QQ头像,为了一件获取QQ头像,先在网上找到一个可以直接获取QQ头像的链接。链接:http://q.qlogo.cn/headimg_dl?bs=qq&dst_uin=  qqnum  &src_uin=www.feifeiboke.com&fid=blog&spec=640,你要做的就是将链接中qqnum替换成你想要用来添加添加头像的QQ号即可。获取到了头像,你还应该有校徽对不?所以去网上找一个你自己学校的校徽吧,把校徽中间给挖空,同时将它对应的四个角落给留着白色哦,不要整成透明的,原因等会拼接的时候解释。给你们看一个我PS好然后准备的样品吧:(将校徽的像素新建为600*600像素,这个数字是可以更改的——在理解原理后)

中间扣空成透明的校徽,保存为png格式——只有png和gif可以保存透明的部分哦,jpg是不能保存的

好的,准备完这两个东西我也就不卖关子了,大家再准备一个空的600*600像素的白色(任意颜色均可)的图片,这个应该不难,直接新建一个保存就好了,以上格式统一为png保存,确保兼容性和保存透明通道。

第二步:那么我下边来说说整个程序的原理,即使不会编程也是可以看看的,因为整个原理是ps图层,

首先通过链接获取到的QQ头像,它的像素是不确定的,唯一可以确定的是它是一个正方形,那么在我们后边变换的时候不会走形,这是一个优点。那么我们获得头像后首先要将它缩放到size*size像素,这里每个校徽对应的size是不同的,究其原因很简单,每个校徽扣掉中间的部分后中间透明部分的大小是不一样的。

将图片缩放后然后摆放在我们一开始就准备好的透明或者白色的600*600的图片正中间。效果如下

为了达到这个目应当设定头像左上角的左边,通过提前在ps中测量得出

最后一步呢?将我们的校徽盖上去就OK啦,就可以得到棒棒哒的图片了。

原理是不是很简单呢?相信只要你会PS理解起来还是非常简单的,同时如果你会一个编程语言,都可以将它实现。在这里我的实现方式是java添加水印的方式,需要源码者可以和我单独交流

喜欢的话就点个赞,同时欢迎交流,希望把这个东西接着做下去,找到一些更好玩的玩法。

文章较为粗糙,没花多少时间整理就弄出来了,有啥毛病望谅解

java加水印 盖章_如何通过Java加水印的方式实现一键添加校徽外圈相关推荐

  1. java水印蒙层_如何通过Java加水印的方式实现一键添加校徽外圈

    首先简单介绍一下项目的展示效果-->点击这里 <特别声明:如果你感觉图片比较有意思,也想要一张自己的专属头像,可以在评论区和我交流> 当你输入自己的QQ号,选择想要的校徽,就能直接获 ...

  2. java文件读入原理_描述一下JVM加载class文件的原理机制

    1.JVM 简介 JVM 是我们Javaer 的最基本功底了,刚开始学Java 的时候,一般都是从"Hello World "开始的,然后会写个复杂点class ,然后再找一些开源 ...

  3. java 线程加载类_怎么判断java当前线程是否加载了一个类的字节码

    展开全部 原生的ClassLoader是有e68a843231313335323631343130323136353331333337616631一个方法判断类是否已经加载的/** * Returns ...

  4. java加载机制_详解Java类加载机制

    一:ClassLoader 从JVM结构图中可以看到,类加载器的作用是将Java类文件加载到Java虚拟机. HotSpot JVM结构,图片来自Java Garbage Collection Bas ...

  5. java 将对象转_如何将Java对象转换为C对象?

    我的问题是这样的.我已经序列化了存储在文件中的二进制Java对象.我需要在C中重建对象并进行进一步处理. 我想我可以使用Java反序列化Java对象,再次序列化为acsii文件,然后加载C代码.另外, ...

  6. java获取机器号_(转)JAVA获得机器码的实现

    http://yangshangchuan.iteye.com/blog/2012401 首先,定义了一个统一的接口,以支持不同操作系统不同实现的透明切换: Java代码  收藏代码 /** *生成机 ...

  7. eclipse编译java项目class文件_动态编译 Java 代码以及生成 Jar 文件

    导读: 最近在看 Flink 源码的时候发现到一段实用的代码,该代码实现了 java 动态编译以及生成 jar 文件.将其进行改进后可以应用到我们的平台上,实现在平台页面上编写 java 代码语句,提 ...

  8. java虚拟机教程图解_深入拆解JAVA虚拟机学习教程

    搞JAVA的深入下去java虚拟机是必须掌握的知识,最近发现个不错的视频教程,学习了几篇讲得非常不错,推荐给大家.废话不多说,大看直接看目录吧. PS:主讲人是Oracle 高级研究员,计算机博士 郑 ...

  9. java 配置文件的路径_详解java配置文件的路径问题

    详解java配置文件的路径问题 详解java配置文件的路径问题 各种语言都有自己所支持的配置文件,配置文件中有很多变量是经常改变的.不将程序中的各种变量写死,这样能更方便地脱离程序本身去修改相关变量设 ...

  10. 新手学java 学哪方面_初学者学Java应从哪些方面学习?

    原标题:初学者学Java应从哪些方面学习? Java作为应用于网络的最好语言,前景无限看好.然而,就算用Java建造一个不是很烦琐的web应用,也不是件轻松的事情.那么,初学者学Java应从哪些方面学 ...

最新文章

  1. [bzoj3673/3674可持久化并查集加强版]
  2. 如何选择阿里云服务器配置?
  3. mac安装python3
  4. mongodb部署以及数据操作
  5. 一文读懂人类信息存储进化史
  6. Fastreport.Net用户手册:报表页
  7. JavaWeb常用的操作
  8. 游戏服务器架构:网络服务器端程序线程划分
  9. html整体引入js,html页面用js引入js的方式
  10. 6.2二叉树及二叉树存储结构
  11. 数字化转型下的银行云单元架构
  12. CSU 1329: 一行盒子
  13. 从苏宁电器到卡巴斯基第03篇:我的本科时光(下)
  14. WEB专用服务器的安全设置
  15. python实现sm3加密算法
  16. 引用阿里图标库的三种方式——多色图标我选symbol
  17. java ad域 单点登录_系统集成-SSO微软ADSF单点认证-AD域认证
  18. 北卡罗来纳州立大学计算机科学,北卡罗来纳州立大学计算机科学理学硕士研究生申请要求及申请材料要求清单...
  19. python源码编译为库_【Python笔记】如何源码编译依赖LAPACK和ATLAS库的NumPy包
  20. 微型计算机原理及应用:基于Arm微处理器

热门文章

  1. NSACE|网络信息安全技术,你不能忽视的存在
  2. 关于回归中国、反垄断等问题,Google CEO 亲口回应了
  3. 使用代理服务器来连接到internet_代理服务器是什么,有什么作用?
  4. Kali渗透测试:使用Word宏病毒进行渗透攻击
  5. java常识(小细节)
  6. ◇Windows 7 XP SP3 2in1 集成安装版 2010贺岁版◇
  7. stm32 boot设置
  8. web前端性能优化总结 1
  9. 淘宝店铺基础版全屏装修步骤及代码,已经经过测试
  10. 看图计算机械加工工时,急求机械加工工艺编制和工时定额制定与核算软件!!!...