来,废话不多说,直接上效果图
python技术交流
基本构想:在黑色背景中随机填充稀薄的彩色像素点
主要流程:
1.先创建 512 x 512的画布,背景设为不透明的纯黑色
2.再在这个512 x 512 个像素点里按照一定的概率随机挑选像素点 m
3.像素点 m 的颜色 从预设的7种颜色(赤橙黄绿青蓝紫)中随机挑选
1.安装用到的 python 库
2,创建 RGBA 图像画布, 背景色设置为不透明的纯黑色
percent = 0.03
# 遍历 512x512 图像的所有像素点
for i in range(512):
for j in range(512):
# 因为 random.random() 产生的随机数是 0到 1 之间均匀分布的
# 就直接用 random.random()产生随机值是 0 到 percent之间的就改变颜色
if random.random() <= percent:
# 从预设的colors颜色列表中随机挑选一个颜色
rgba = random.choice(colors)
# 设定坐标颜色
img.putpixel((j, i), rgba)
pip install pillow
3.随机挑选 3%的像素点变成彩色
percent = 0.03
# 遍历 512x512 图像的所有像素点
for i in range(512):
for j in range(512):
# 因为 random.random() 产生的随机数是 0到 1 之间均匀分布的
# 就直接用 random.random()产生随机值是 0 到 percent之间的就改变颜色
if random.random() <= percent:
# 从预设的colors颜色列表中随机挑选一个颜色
rgba = random.choice(colors)
# 设定坐标颜色
img.putpixel((j, i), rgba)
4.保存图片
print("哈哈, 五彩斑斓的黑大功告成!")
img.show()
最后完整代码如下
# coding: utf-8
# author: ZhangTao
# Date : 2019/12/12
# 五彩斑斓的黑
from PIL import Image
import random
width = 512
height = 512
# 图片大小为 512x512
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.01 就是1%
percent = 0.01
# 遍历 512x512 图像的所有像素点
for i in range(512):
for j in range(512):
# 因为 random.random() 产生的随机数是 0到 1 之间均匀分布的
# 就直接用 random.random()产生随机值是 0 到 percent之间的就改变颜色
if random.random() <= percent:
# 从预设的colors颜色列表中随机挑选一个颜色
rgba = random.choice(colors)
# 设定坐标颜色
img.putpixel((j, i), rgba)
img.save('c.png', 'PNG')
print("哈哈, 五彩斑斓的黑大功告成!")
img.show()
三人行,必有我师!一个好的交流圈子不仅能够帮助我们解决一些平时开发的问题,也能帮我们实时获取最新的开发相关新闻!小编的Pythonj技术交流群:587855308!欢迎还在python开发路上前行的所有人!
点击链接加入群聊【python学习交流讨论群】:https://jq.qq.com/?_wv=1027&k=5voqKdQ
网友评论