当前位置: 首页 > news >正文

基于python合成100X100的透明背景图片和图标

一、实现思路

1. 加载图像

        使用   Image.open()   加载图标图像。  Image.new()   创建一个新的透明背景图像。

2. 调整大小

        使用   resize()   方法调整图标图像的大小,确保它不会超过背景图像的一半大小。这里使用   Image.Resampling.LANCZOS   作为过滤器,以获得高质量的缩放效果。

3. 计算居中位置

        计算图标图像在背景图像中的居中位置。

4. 粘贴图像

        使用paste() 方法将图标图像粘贴到背景图像的居中位置。

5. 保存图像

        使用save() 方法保存合成后的图像。

二、代码

from PIL import Image# 创建一个新的空白图片,设置大小为64x64像素,模式为RGBA(支持透明度)
background_image = Image.new("RGBA", (100, 100), (255, 255, 255, 0))
# 需要添加的图片
icon_image = Image.open("earth3.png")  # 第一个图标的路径# 确保图标图像的大小不超过背景图像
# icon_image = icon_image.resize(
#     (int(background_image.width / 2), int(background_image.height / 2)),
#     Image.Resampling.LANCZOS,
# )
icon_image = icon_image.resize((70, 70),Image.Resampling.LANCZOS,
)# 计算居中位置
x = (background_image.width - icon_image.width) // 2
y = (background_image.height - icon_image.height) // 2# 将图标图像粘贴到背景图像的中间位置
background_image.paste(icon_image, (x, y))# 保存合成后的图像
background_image.save("cmimg3.png")
print("成功")

三、效果展示(css背景加了蓝色,以便能够显示出来)

http://www.xdnf.cn/news/658441.html

相关文章:

  • 十大排序算法
  • 单例模式,饿汉式,懒汉式,在java和spring中的体现
  • 从数据页角度理解B+树查询
  • Netty学习专栏(五):Netty高性能揭秘(Reactor模式与零拷贝的深度实践)
  • 华为OD机试真题——单词接龙(首字母接龙)(2025A卷:100分)Java/python/JavaScript/C/C++/GO最佳实现
  • 股指期货移仓换月技巧是什么?
  • CUDA编程笔记(1)--最简单的核函数
  • 大模型RL方向面试题90道
  • Filter和Interceptor详解(一文了解执行阶段及其流程)
  • CVE-2024-36467 Zabbix权限提升
  • java枚举和mybaits-plus结合实现映射输出和存储
  • VScode怎么运行一个c语言程序
  • ChatGPT与认知科学:人机协同的未来图景
  • STM32 IIC总线死锁问题总结
  • 洛谷——P3372 【模板】线段树 1
  • webpack吐环境分析
  • 为什么使用ollama运行的模型不用gpu也可以使用
  • [攻防世界] easyphp writeup
  • Graph Neural Network(GNN)
  • 如何通过全流量溯源分析系统实现高效的网络质量监控
  • JavaSE核心知识点04工具04-02(IDEA)
  • 关于(stream)流
  • MySQL的基础操作
  • 内网搭建NTS服务器
  • 网络安全之Web渗透加解密
  • 原子操作(Atomic Operations)在SOC中的应用场景
  • 【R语言编程绘图-函数篇】
  • Sparse VideoGen开源:完全无损,视频生成速度加速两倍,支持Wan 2.1、HunyuanVideo等
  • DAY12打卡 启发式算法
  • 基于yjs实现协同编辑页面