Python 使用 PIL 库生成五彩斑斓的黑色图像
引言
'五彩斑斓的黑'通常指在视觉上以黑色为基底,但通过极少量的彩色像素点缀,形成一种既深邃又带有微妙色彩变化的艺术效果。这种技术常用于生成抽象背景图或测试图像处理算法。本文将演示如何使用 Python 和 Pillow 库实现这一效果。
环境准备
首先,确保已安装 Python 环境。接着,需要安装 Pillow 库来处理图像。
本文介绍如何使用 Python 的 Pillow 库创建一个黑色背景的图像,并通过随机填充特定颜色的像素点来模拟五彩斑斓的黑视觉效果。内容涵盖环境搭建、核心代码逻辑解析、颜色参数调整及常见问题处理,帮助开发者快速实现基于随机算法的图像生成任务。

'五彩斑斓的黑'通常指在视觉上以黑色为基底,但通过极少量的彩色像素点缀,形成一种既深邃又带有微妙色彩变化的艺术效果。这种技术常用于生成抽象背景图或测试图像处理算法。本文将演示如何使用 Python 和 Pillow 库实现这一效果。
首先,确保已安装 Python 环境。接着,需要安装 Pillow 库来处理图像。
pip install pillow
以下是完整的实现代码,包含详细的注释说明。
from PIL import Image
import random
# 设置图像尺寸
width = 512
height = 512
# 创建 RGBA 模式的图像,背景为不透明纯黑
img = Image.new('RGBA', (width, height), (0, 0, 0, 255))
# 定义预设的 7 种颜色(赤橙黄绿青蓝紫)
colors = [
(255, 0, 0, 255), # 赤
(255, 128, 0, 255), # 橙
(255, 255, 0, 255), # 黄
(0, 255, 0, 255), # 绿
(0, 255, 255, 255), # 青
(0, 0, 255, 255), # 蓝
(128, 0, 255, 255) # 紫
]
# 设定像素被选中的概率,例如 0.03 代表 3%
percent = 0.03
# 遍历所有像素点
for i in range(height):
for j in range(width):
# 生成 0 到 1 之间的随机数
if random.random() <= percent:
# 随机选择一个颜色
rgba = random.choice(colors)
# 设置像素坐标颜色
img.putpixel((j, i), rgba)
# 保存并显示结果
img.save('colorful_black.png', 'PNG')
print("五彩斑斓的黑生成成功!")
img.show()
修改 percent 变量可以控制彩色点的稀疏程度。值越小,黑色越纯粹;值越大,画面越接近多彩。
对于超大尺寸图像(如 4K),双重循环可能导致运行缓慢。在生产环境中,建议使用 NumPy 数组进行向量化操作以提升性能。
可根据需求修改 colors 列表,支持任意 RGB 或 RGBA 颜色组合,甚至引入渐变逻辑。
percent 概率或提高前景色的饱和度。通过简单的随机算法,我们可以利用 Python 快速生成具有艺术感的图像。此方法可扩展至更多创意编程场景,如噪点生成、粒子特效等。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online