【Python 实战】---- 批量绘制透明背景方形印章

news2024/12/27 7:15:23

1. 目标效果

输入图片说明

2. 分析实现

  1. 可以使用 opencv 或者 PIL 进行绘制实现,但是由于 opencv 不能绘制中文,因此采用 PIL 进行印章制作;
  2. 先绘制边框和隔离线;
  3. 再绘制文字;
  4. 最后给印章添加纹理。

3. 绘制边框

3.1 绘制边框分析

  1. 通过 draw.rectangle 实现公用的矩形的绘制;
  2. 获取图像长宽 image.size;
  3. 计算各个矩形的起始点【三分之一宽、二分之一高】;
  4. 通过一个矩形,将印章分为上下两个矩形【绘制上下矩形, 注意边框占位一半】;
  5. 通过上边三分之一个矩形将上侧矩形平均分三份【绘制上侧中间矩形】;
  6. 绘制下侧右边的小矩形【绘制下侧右边的矩形】上下一起绘制;
  7. 绘制印章完整边框【绘制边框】。

3.2 实现代码

  # 绘制印章的格子
  def draw_seal_box(self):
    # 获取图像长宽
    w, h = self.image.size
    # 计算各个矩形的起始点
    # 三分之一宽
    third_w = w / 3
    # 二分之一高
    half_h = h / 2
    # 绘制下侧右边的矩形
    self.draw_rect([thir

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/974846.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

maven项目继承依赖中包版本的说明

继承 参考博客MAVEN的继承详解_parent中哪些标签可以被子项目继承_32224047_yw的博客-CSDN博客 https://blog.csdn.net/liupeifeng3514/article/details/80236827 dependencies 和dependencyManagement 在Maven多模块的时候,管理依赖关系是非常重要的&#xff…

冠达管理:上市破发是什么意思?

随着股票商场的开展,一些公司开端考虑走向上市,以取得更多的资金和更高的知名度。然而,上市并不总是一件功德。当一家公司的股票开端买卖时,如果它的股价远低于发行价,就可以说它遭遇了“破发”。这是一种负面事件&…

【CAD二次开发】重新加载acad.pgp快捷菜单文件

为了加快绘图速度,好多人会进行CAD快捷命令的修改,那怎么在不需要重启CAD的情况下自动更新? CAD修改acad.pgp,快捷命令后,自动更新。 方法一 命令行输入reinit,命令。 在弹出的窗口中,选择‘PGP文件’&…

【Linux详解】——共享内存

📖 前言:本期介绍共享内存。 目录 🕒 1. 共享内存的原理🕒 2. 共享内存的概念🕘 2.1 接口认识🕘 2.2 演示生成key的唯一性🕘 2.3 再谈key 🕒 3. 共享内存相关命令🕒 4. 利…

气象站是什么设备?功能是什么?

气象站是一种用于测量和记录气象数据的设备。它通常是由各种传感器及其数据传输设备、固定设备和供电设备组成,可以测量风速、风向、温度、湿度、气压、降水量等气象要素,并将这些数据记录下来,以便进一步分析和研究。 气象站通常设置在广阔…

从MySQL数据库中查出时间与数据库存储的时间不一致

1、TimeZone t TimeZone.getDefault(); 通过该方法查看系统的时区。 2、select global.time_zone,session.time_zone; 查看数据库的时区 3、在application.properties中配置: #SpringBoot默认的是Jackson框架转换,而Jackson默认的时间时区是GMT&…

动作分析:提升效率、改进质量、创新流程的秘密武器

动作分析的主要的用途和目的是排除多余的动作、无效的动作或缓慢的动作,如弯腰、站在凳子上、蹲着、工作场所差、缺少合适的工作设备、处于搜索状态的人和事等,形成标准化作业规范,从而通过最省力的方法达到最大的工作效率。这项研究可以不花…

为什么良好的客户服务对于成功的企业至关重要

图片来源于:SaleSmartly官网 良好的客户服务是任何成功企业的重要组成部分。提供卓越的客户服务有助于建立客户的信任和忠诚度,从而增加销售额和利润。它还对任何企业的声誉产生积极影响,带来更多客户和更好的口碑推荐。因此,企业…

【FusionInsight 迁移】HBase从C50迁移到6.5.1(03)6.5.1上准备Loader

【FusionInsight 迁移】HBase从C50迁移到6.5.1(03)6.5.1上准备Loader HBase从C50迁移到6.5.1(03)6.5.1上准备Loader登录新集群FusionInsight 6.5.1的Manager准备Loader服务准备Loader Role准备Loader User HBase从C50迁移到6.5.1&…

商家为什么要做微信小程序开发

一、引言 在移动互联网时代,微信已经成为人们生活中不可或缺的社交工具。微信小程序作为微信的一个重要扩展,以其轻便、易用、无需下载等特性,正在受到越来越多的关注。本文将详细探讨为什么需要进行微信小程序开发,以及微信小程…

Nacos Helm Chart Deploy Demo

文章目录 介绍准备条件定制 values.yaml检查登陆 介绍 Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service的首字母简称,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。 Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供…

华为云Stack的学习(五)

六、华为云stack服务简介 1.云服务在华为云Stack中的位置 云服务对接多个数据中心资源池层提供的资源,并向各种行业应用提供载体。 2.华为云Stack通用服务 2.1 云计算的服务模式 2.2 计算相关的云服务 2.3 存储相关的云服务 2.4 网络相关的云服务 3.云化案例 **…

VSCode 中的用户代码片段

用户代码块 在 VSCode 中,用户可以通过自定义代码片段(User Snippets)来快速插入常用的代码块。 官方文档 如何创建和使用用户代码片段: 点击用户片段后,即会弹出面板如下: 添加一个代码片段 "片…

elasticsearch wildcard 慢查询原因分析(深入到源码!!!)

大家好,我是蓝胖子,前段时间线上elasticsearch集群遇到多次wildcard产生的性能问题, elasticsearch wildcard 一直是容易引发elasticsearch 容易宕机的一个风险点, 但究竟它为何消耗cpu呢?又该如何理解elasticsearch p…

深圳-海岸城购物中心数据分析

做数据分析的时候,如果要对商场进行分析,可以从这些数据纬度进行分析,如下图所示: 截图来源于数位观察:https://www.swguancha.com/

【JPC出版】第二届能源与电力系统国际学术会议 (ICEEPS 2023)

第二届能源与电力系统国际学术会议 (ICEEPS 2023) 2023 2nd International Conference on Energy and Electrical Power Systems 第二届能源与电力系统国际学术会议 (ICEEPS 2023)将于2023年10月27日至29日在中国厦门举行。ICEEPS 将汇集能源科学、电气工程和电力系统领域的…

Windows中多线程的基础知识——2事件对象

上一节我们介绍了线程同步、以及利用互斥对象实现线程同步的方法。这一节,我们继续介绍另一种线程同步的方法:事件对象。如果对线程概念、互斥对象概念不清楚的同学,请查看Windows中多线程的基础知识——1互斥对象。 1 事件对象 1.1 事件对…

SAP MM BP供应商主数据学习实践总结

一 常用Tcode 基于Tcode的顺序排列 供应商主数据物料主数据货源清单配额安排采购信息记录采购订单框架协议采购询价/报价采购申请订单收货发票校验物料需求计划BP-供应商主数据MM01 - 物料主数据新增ME01 - 维护MEQ1 - 维护ME11 - 创建ME21N - 创建框架协议-合同:询价:ME51…

LeetCode 133. Clone Graph【图,DFS,BFS,哈希表】中等

本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章…

Tequila Works x Incredibuild

关于 Tequila Works Tequila Works 是一家位于西班牙马德里的电子游戏开发商,由劳尔鲁比奥 (Raul Rubio) 和卢兹桑乔 (Luz Sancho) 于2009年创立。该公司著名的游戏产品包括《死亡曙光》(Deadlight)、《霜华》(Rime)、《联盟外传:努努之歌》(Song of Nu…