python 图片加文字 文字自动上下左右居中 自动换行居中对齐

一.实现效果展示

在这里插入图片描述

二.代码
# -*- coding: utf-8 -*-
# @Time    : 2024/9/26 17:22
# @Author  : Cocktail_pyfrom PIL import Image, ImageFont, ImageDrawdef split_string(s, num_parts):length = len(s)chunk_size = length // num_partsremainder = length % num_partsparts = ['' for _ in range(num_parts)]start = 0for i in range(num_parts):end = start + chunk_size + (1 if i < remainder else 0)parts[i] = s[start:end]start = endreturn partsdef image_add_text(background_image_path,title_text,border_width=30):"""图片加文字 文字自动居中对齐白色、加粗、字号65px、上下左右居中:param background_image_path 背景图:param title_text 需要加的文字:border_width 设置距离单边距离"""image = Image.open(background_image_path)# 设置字体font = ImageFont.truetype('simsun.ttc', 65)draw = ImageDraw.Draw(image)cnt = 1img_width = image.widthflg =Falsewhile True:all_tx_list = split_string(title_text,cnt)for inx,txt in enumerate(all_tx_list):# 获取文本的宽度和高度text_width, text_height = draw.textsize(txt, font=font)if text_width < (img_width -border_width*2) and (inx+1 == len(all_tx_list)):flg=Truebreakif flg==True:breakcnt +=1txt_new = "\n".join(all_tx_list).strip()text_width, text_height = draw.textsize(txt_new, font=font)# 计算标题的位置,使其在图片上下左右居中x = (image.width - text_width) // 2y = (image.height - text_height) // 2# 设置白色、加粗的文本颜色text_color = (255, 255, 255)draw.text((x, y), txt_new, font=font, fill=text_color, stroke_width=2, stroke_fill=None)# 保存添加标题后的图片image.save('image_with_title.png')if __name__ == '__main__':title_text = '五角大楼回应中国发射洲际导弹 【#五角大楼回应中国发射洲际导弹#】'background_image_path = '900x380背景.png'image_add_text(background_image_path,title_text,border_width=20)

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

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

相关文章

新能源背景下,电瓶车充电现状的分析及管理方案

【摘要】&#xff1a;在新能源日益普及的背景下&#xff0c;社会安全问题显得尤为突出。以电瓶车为例&#xff0c;其户外停放难、充电难的问题愈发凸显&#xff0c;成为社会各界关注的焦点。尤其是“飞线充电”和“楼道充电”等不规范行为&#xff0c;更是屡见不鲜&#xff0c;…

脚手架是什么?详细版+通俗易懂版!!!!!!

脚手架&#xff08;Scaffolding&#xff09;在软件开发领域&#xff0c;特别是在前端开发和全栈开发环境中&#xff0c;是一个术语&#xff0c;用来描述一个辅助工具或框架&#xff0c;它旨在帮助开发者快速搭建项目的基础结构和开发环境。这些基础结构可能包括项目的目录结构、…

Halcon基础系列1-基础算子

1 窗口介绍 打开Halcon 的主界面主要有图形窗口、算子窗口、变量窗口和程序窗口&#xff0c;可拖动调整位置&#xff0c;关闭后可在窗口下拉选项中找到。 2 显示操作 关闭-dev_close_window() 打开-dev_open_window (0, 0, 712, 512, black, WindowHandle) 显示-dev_display(…

图片转字符画

在Github上看到的一个有趣的开源项目&#xff0c;实现将图片转换为字符画&#xff0c;这样&#xff0c;不能贴图片的场景下可以用字符画替代。 Github演示地址&#xff1a; https://505e06b2.github.io/Image-to-Braille/ Github源码下载地址&#xff1a; https://github.c…

【C++与数据结构】搜索二叉树(BinarySearchTree)

一、概念&#xff1a; 二叉搜索树又称为二叉排序树&#xff0c;因为它具有以下性质&#xff1a; 1、如果二叉树的左子树不为空&#xff0c;那么它左子树的任意一个节点的值都小于根节点。 2、如果二叉树的右子树不为空&#xff0c;那么它右子树的任意一个节点的值都大于根节点。…

C++类和对象第一关

一&#xff1a;类的定义 &#xff08;一&#xff09;类的定义 &#xff08;1&#xff09;类的定义格式&#xff1a; class name{ // 类成员变量 // 类方法&#xff08;函数&#xff09; }; class是定义类的关键字&#xff0c;name为定义的类的名字&#xff0c;后面的花括号…

助力降本增效,ByteHouse打造新一代云原生数据仓库

随着数据量的爆炸式增长、企业上云速度加快以及数据实时性需求加强&#xff0c;云原生数仓市场迎来了快速发展机遇。 据 IDC、Gartner 研究机构数据显示&#xff0c;到 2025 年&#xff0c;企业 50% 数据预计为云存储&#xff0c;75% 数据库都将运行在云上&#xff0c;全球数据…

DK5V100R10SL贴片TO252功率12V4.3A同步整流芯片

概述DK5V100R10SL是一款简单高效率的同步整流芯片&#xff0c;只有A&#xff0c;K两个功能引脚&#xff0c;分别对应肖特基二极管PN管脚。芯片内部集成了100V功率NMOS管&#xff0c;可以大幅降低二极管导通损耗&#xff0c;提高整机效率&#xff0c;取代或替换目前市场上等规的…

双十一数码产品有哪些? 2024年度双十一数码好物推荐

每年双十一来临都是更新手机、平板或者电脑、耳机的绝佳时机。年末也让一年来发布的新机器有了更大的优惠空间再加上平台补贴&#xff0c;绝对是实打实的划算。今天给大家总结了几款双十一价格刷新新低的数码好物&#xff0c;真的要看过再下单&#xff0c;不然买贵就吃亏了。 …

UGUI动态元素大小的滑动无限列表

效果与使用说明 效果 可以滑动无限列表&#xff08;严格来说也和常规的不太一样&#xff09;可以通过曲线调整元素大小 使用说明 列表元素位于脚本挂载处的直接子级最大的元素位于脚本挂载元素的pivot处水平列表的对齐依据是所有元素pivot都在一条线上默认在最左侧和最右侧元…

kafka下载配置

下载安装 参开kafka社区 zookeeperkafka消息队列群集部署https://apache.csdn.net/66c958fb10164416336632c3.html 下载 kafka_2.12-3.2.0安装包快速下载地址分享 官网下载链接地址&#xff1a; 官网下载地址&#xff1a;https://kafka.apache.org/downloads 官网呢下载慢…

基于Node.js+Express+MySQL+VUE实现的计算机毕业设计共享单车管理网站

单车信息选择骑行 骑行状态留言公告/springboot/javaWEB/J2EE/MYSQL数据库/vue前后分离小程序 功能如下&#xff1a; 一、开发目标 在共享经济日益盛行的今天&#xff0c;共享单车作为一种绿色、便捷的出行方式&#xff0c;已经深入人们的日常生活。然而&#xff0c;随着共享…

解读滁州少儿自闭症寄宿制学校:为孩子重新定义未来

为自闭症儿童点亮希望之光&#xff1a;星贝育园自闭症儿童寄宿制学校的温暖之旅 在繁华与喧嚣交织的都市一隅&#xff0c;广州的星贝育园自闭症儿童寄宿制学校如同一座温馨的灯塔&#xff0c;为那些在社交与沟通海洋中迷失方向的小小航船指引着方向&#xff0c;重新定义了他们…

win 录屏软件有哪些?5个软件帮助你快速进行电脑录屏。

win 录屏软件有哪些&#xff1f;5个软件帮助你快速进行电脑录屏。 在 Windows 系统上录屏操作十分常见&#xff0c;无论是制作教程、记录游戏片段&#xff0c;还是录制会议和演示文稿&#xff0c;都需要一个高效、稳定的录屏软件。以下是五款适合 Windows 系统的录屏软件&…

docker - maven 插件自动构建镜像(构建镜像:ebuy-docker:v2.0)

文章目录 1、docker服务端开启远程访问2、在pom.xml文件plugins下添加Maven的docker插件3、编写dockerfile文件4、执行maven的打包命令5、查看 镜像 ebuy-docker:v2.06、创建 容器 ebuy-dockerv2.0 上面手动构建镜像的过程比较繁琐&#xff0c;使用Maven的docker插件可以实现镜…

混合专家模型在大模型微调领域进展

前言&#xff1a;随着大规模语言模型&#xff08;LLM&#xff09;的快速发展&#xff0c;人工智能在自然语言处理领域取得了巨大的进步。在将大模型转化为实际生产力时&#xff0c;不免需要针对实际的任务对大模型进行微调。然而&#xff0c;随着模型规模的增长&#xff0c;微调…

【最新华为OD机试E卷-支持在线评测】分苹果(100分)多语言题解-(Python/C/JavaScript/Java/Cpp)

🍭 大家好这里是春秋招笔试突围 ,一枚热爱算法的程序员 💻 ACM金牌🏅️团队 | 大厂实习经历 | 多年算法竞赛经历 ✨ 本系列打算持续跟新华为OD-E/D卷的多语言AC题解 🧩 大部分包含 Python / C / Javascript / Java / Cpp 多语言代码 👏 感谢大家的订阅➕ 和 喜欢�…

[Linux][进程][进程的七种状态]

进程状态是操作系统用来管理进程的一种手段&#xff0c;操作系统通过动态的调整进程状态来合理的分配资源&#xff0c;维护整个系统的生态。 // Linux内核对进程各个状态的定义&#xff0c;Linux系统的进程的状态不考虑/* * The task state array is a strange "bitmap&qu…

尚庭公寓-接口定义

5. 接口定义 5.1 后台管理系统接口定义 5.1.1 公寓信息管理 5.1.1.1 属性管理 属性管理页面包含公寓和房间各种可选的属性信息&#xff0c;其中包括房间的可选支付方式、房间的可选租期、房间的配套、公寓的配套等等。其所需接口如下 房间支付方式管理 页面如下 所需接口如…