用户:氯化氢不是氯代烃查看:0 回复:2 评论:0 创建时间:2021-01-10T10:40:00
【作品展示】

【作品介绍】
它可以用图片排成数字,最多4位,可调整颜色。
【作品源代码】
from PIL import Image
import matplotlib.pyplot as plt
import os
import random
def ShowNumber(Prompt, NumberColor="yellow", BackgroundColor="black"):
Reds = os.listdir(r"F:\mouse\鼠鼠的视频与照片\Imgs\Reds")
Oranges = os.listdir(r"F:\mouse\鼠鼠的视频与照片\Imgs\Oranges")
Yellows = os.listdir(r"F:\mouse\鼠鼠的视频与照片\Imgs\Yellows")
Greens = os.listdir(r"F:\mouse\鼠鼠的视频与照片\Imgs\Greens")
Blues = os.listdir(r"F:\mouse\鼠鼠的视频与照片\Imgs\Blues")
Blacks = os.listdir(r"F:\mouse\鼠鼠的视频与照片\Imgs\Blacks")
Greys = os.listdir(r"F:\mouse\鼠鼠的视频与照片\Imgs\Greys")
Whites = os.listdir(r"F:\mouse\鼠鼠的视频与照片\Imgs\Whites")
global Colors
Colors = [Reds, Oranges, Yellows, Greens, Blues, Blacks, Greys, Whites]
ImgExts = [".jpg", ".jpeg", ".png"]
for colorlist in Colors:
for file in colorlist:
Name, Ext = os.path.splitext(file)
if not Ext in ImgExts:
colorlist.remove(file)
Digits = {"1": ["00100", "01100", "00100", "00100", "00100", "00100", "00100", "00100", "00100", "01110"],
"2": ["01110", "10001", "10001", "00001", "00010", "00010", "00100", "01000", "10000", "11111"],
"3": ["01110", "10001", "00001", "00001", "01110", "00001", "00001", "10001", "10001", "01110"],
"4": ["10100", "10100", "10100", "10100", "11111", "00100", "00100", "00100", "00100", "00100"],
"5": ["11111", "10000", "10000", "10000", "11110", "10001", "00001", "00001", "10001", "01110"],
"6": ["00011", "00110", "01100", "01000", "11000", "11110", "10001", "10001", "10001", "01110"],
"7": ["11111", "00001", "00010", "00010", "00100", "00100", "01000", "01000", "10000", "10000"],
"8": ["01110", "10001", "10001", "10001", "01110", "10001", "10001", "10001", "10001", "01110"],
"9": ["01110", "10001", "10001", "10001", "01111", "00011", "00010", "00100", "01000", "10000"],
"0": ["01110", "10001", "10001", "10001", "10001", "10001", "10001", "10001", "10001", "01110"],
"_": ["00000", "00000", "00000", "00000", "00000", "00000", "00000", "00000", "00000", "00000"]}
ColorPaths = {"red": r"F:\mouse\鼠鼠的视频与照片\Imgs\Reds",
"oranges": r"F:\mouse\鼠鼠的视频与照片\Imgs\Oranges",
"yellow": r"F:\mouse\鼠鼠的视频与照片\Imgs\Yellows",
"green": r"F:\mouse\鼠鼠的视频与照片\Imgs\Greens",
"blue": r"F:\mouse\鼠鼠的视频与照片\Imgs\Blues",
"black": r"F:\mouse\鼠鼠的视频与照片\Imgs\Blacks",
"gray": r"F:\mouse\鼠鼠的视频与照片\Imgs\Greys",
"white": r"F:\mouse\鼠鼠的视频与照片\Imgs\Whites"}
ColorNames = {"red": Reds,
"oranges": Oranges,
"yellow": Yellows,
"green": Greens,
"blue": Blues,
"black": Blacks,
"gray": Greys,
"white": Whites}
Board = Image.new("RGBA", (1000, 500))
if len(Prompt) > 4:
raise
while len(Prompt) < 4:
Prompt = "_"+Prompt
ShowList = [""] * 10
for a in range(4):
for b in range(10):
ShowList[b] += Digits[Prompt[a]][b]
print(ShowList)
for a in range(10):
for b in range(20):
Pos = (b*50, a*50)
NumImg = Image.open(
ColorPaths[NumberColor]+os.sep+random.choice(ColorNames[NumberColor])).resize((50, 50))
BackImg = Image.open(
ColorPaths[BackgroundColor]+os.sep+random.choice(ColorNames[BackgroundColor])).resize((50,50))
if ShowList[a][b] == "0":
Board.paste(BackImg, Pos)
elif ShowList[a][b] == "1":
Board.paste(NumImg, Pos)
else:
pass
plt.imshow(Board)
plt.show()
ShowNumber("1254", "red", "white")
【提示】
部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:
https://python.codemao.cn