1.

/*** 将照片logo添加到二维码中间** @param image 生成的二维码照片对象* @param imagePath 照片保存路径* @param logoPath logo照片路径* @param formate 照片格式*/public static void overlapImage(BufferedImage image,String formate,String imagePath,String logoPath,MatrixToLogoImageConfig logoConfig) {try {BufferedImage logo = ImageIO.read(new File(logoPath));Graphics2D g = image.createGraphics();// 考虑到logo照片贴到二维码中,建议大小不要超过二维码的1/5;int width = image.getWidth() / logoConfig.getLogoPart();int height = image.getHeight() / logoConfig.getLogoPart();// logo起始位置,此目的是为logo居中显示int x = (image.getWidth() - width) / 2;int y = (image.getHeight() - height) / 2;// 绘制图g.drawImage(logo, x, y, width, height, null);// 给logo画边框// 构造一个具有指定线条宽度以及 cap 和 join 风格的默认值的实心 BasicStrokeg.setStroke(new BasicStroke(logoConfig.getBorder()));g.setColor(logoConfig.getBorderColor());g.drawRect(x, y, width, height);g.dispose();// 写入logo照片到二维码ImageIO.write(image, formate, new File(imagePath));} catch (Exception e) {e.printStackTrace();}}
/*** 插入LOGO** @param source 二维码图片* @param imgPath LOGO图片地址* @param needCompress 是否压缩* @throws Exception*/private static void insertImage(BufferedImage source, String imgPath, boolean needCompress)throws Exception {File file = new File(imgPath);if (!file.exists()) {System.err.println("" + imgPath + " 该文件不存在!");return;}Image src = ImageIO.read(new File(imgPath));int width = src.getWidth(null);int height = src.getHeight(null);if (needCompress) { // 压缩LOGOif (width > WIDTH) {width = WIDTH;}if (height > HEIGHT) {height = HEIGHT;}Image image = src.getScaledInstance(width, height, Image.SCALE_SMOOTH);BufferedImage tag = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);Graphics g = tag.getGraphics();g.drawImage(image, 0, 0, null); // 绘制缩小后的图g.dispose();src = image;}// 插入LOGOGraphics2D graph = source.createGraphics();int x = (QRCODE_WIDTH - width) / 2;int y = (QRCODE_HEIGHT - height) / 2;graph.drawImage(src, x, y, width, height, null);Shape shape = new RoundRectangle2D.Float(x, y, width, width, 6, 6);graph.setStroke(new BasicStroke(3f));graph.draw(shape);graph.dispose();}

BufferedImage 将照片logo添加到二维码中间相关推荐

  1. vue-qr 二维码 添加logo 下载单个二维码 批量下载二维码并打包

    使用 vue-qr 生成二维码并可以添加logo 逻辑: 1.下载二维码生成插件 这里用的是qrcode 2.下载二维码 使用html2canvas(其实解释一个截图工具)将标签截图并下载下来 3. ...

  2. 使用zxing生成带logo的二维码图片,自动调节logo图片相对二维码图片的大小

    使用zxing生成带logo的二维码图片,自动调节logo图片相对二维码图片的大小  * 可选是否带logo,可选是否保存二维码图片:结果返回base64编码的图片数据字符串  * 页面显示:< ...

  3. 批量制作带LOGO的网址二维码

    现在我们的生活中随处可见二维码的身影,扫码付款,扫描进入小程序,扫码关注等等.二维码可以存储各种信息,主要包括网址.名片.文本信息.特定代码等.今天跟大家分享使用条码软件批量制作带LOGO的网址二维码 ...

  4. 用Hutool工具类生成一个带LOGO图标的二维码

    本文主要介绍的是,如何通过在线url LOGO图标生成一个自定义内容的二维码. 目录 一.导入依赖 二.生成二维码 三.QrConfig类属性描述 一.导入依赖 本文使用了Hutool工具包中的二维码 ...

  5. 求救pythonlogo嵌入到二维码里面,为什么这个代码运行了却没有logo嵌入到二维码上

    import qrcode from PIL import Image import os# 生成带logo的二维码图片 def get_qr(str, logo, save):# 参数配置qr = ...

  6. 怎么用python生成带二维码的照片_怎么制作二维码图片-Python 生成个性二维码

    一.实验介绍1.1 实验内容 本课程通过调用MyQR接口来实现生成个人所需二维码,并可以设置二维码的大小.是否在现有图片的基础上生成.是否生成动态二维码. 1.2 知识点 Python3基础 MyQR ...

  7. 怎样给CSDN博客添加微信二维码

    在使用CSDN的过程中,看到一些大佬的微信公众号二维码,扫码很方便关注,作为一般的用户是没有这个功能的,那么是怎么实现的呢?这里以添加微信二维码为例进行举例分析: (1)首先需要将自己的微信二维码上传 ...

  8. CSDN 添加微信二维码

    添加微信二维码到任意一篇博客 复制二维码链接地址 替换到img src 段中 <ul class="panel_head"> <span>感悟</sp ...

  9. 中文错别字检查添加了二维码入口

    中文错别字检查添加了二维码入口 最近在研究了一下有特色 二维码的生成, 于是借用到了中文错别字检查页面上了, 就是下面的这幅图片,怎么样,图中的 CBZ 三个字母还是清晰可以辨认的吧? 还准备把更多的 ...

最新文章

  1. 聊天宝彻底凉了,遭罗永浩抛弃,团队就地解散
  2. shell编程 字符串处理
  3. Artifact ssmbuild:war exploded: Error during artifact deployment. See server log for details
  4. 在ubuntu用arm ds-5社区版配合linaro交叉编译工具开发android linux应用
  5. 聚类分析与相关算法(Kmeans等)详解
  6. 基于django和vue的xdh官网设计
  7. 智领云荣登“中国大数据企业50强” | 2020大数据产业生态大会盛大召开 智领云斩获多项殊荣
  8. axure html显示效果,Axure RP基础篇: 实现循环显示效果的两种方法
  9. 三星中文AI助手Bixby发布,现在,这是“一家AI商用技术公司”
  10. Discuz 模板目录结构注释说明
  11. left函数未定义_access中LEFT函数未定义的解决方案\表达式中'left'函数未定义。
  12. 彗星虚表操作模块1.1-百万数据毫秒级加入超级列表框-增加数据库绑定
  13. KEIL,#ifdef宏定义下失效代码差异性显示
  14. 《微观经济学》 第七章
  15. 联想异能者z51-70笔记本如何bios设置u盘启动?
  16. 立体声混响效果器-Acon Digital Verberate 2.2.1 WiN-MAC
  17. 自由度(为什么样本方差自由度是n-1)
  18. Jacobian矩阵的计算(三维重建task2-4)
  19. mysqldump,select into outfile备份
  20. 【C++编程语言】之C++对象模型和this指针

热门文章

  1. WinXP操作系统磁盘最优化方案(转)
  2. CSS权威指南-候选样式表
  3. 探秘福特,科技造就节油王
  4. 《鬼谷子本经阴符七术》1五龙盛神法 (翻译)
  5. 推荐几款前端编辑器(还在因为只知道一个编辑器被同事嘲笑吗?看完给他上一课!!!)
  6. laravel接口+微信小程序调用
  7. 2019暑假多校训练第四场 | 部分题解
  8. nextSibling 和nextElementSibling的区别
  9. 有爱的存在,再远的距离也阻止不了
  10. bug解决-Vue中img图片加载失败解决方案