欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Pillow 基础入门学习& ASCII码

程序员文章站 2024-03-17 15:09:16
...

在学习【廖雪峰的官方网站】的Python教程中,简单学习了利用pillow包绘制图片,这里就直接贴代码了,当作学习记录

# -*- coding:utf-8 -*
from PIL import Image, ImageDraw, ImageFont, ImageFilter
import random


def rand_char():
    """利用ASCII值创建随机字母"""
    return chr(random.randint(65, 90))


def rand_color():
    """创建随机颜色"""
    return (random.randint(64, 255),
            random.randint(64, 255), random.randint(64, 255))


def rand_color2():
    """创建随机颜色2"""
    return (random.randint(32, 127),
            random.randint(32, 127), random.randint(32, 127),)


# 图片尺寸
width = 60 * 4
height = 60

# 创建新的图片Image.new((mode, size, color=0)
image = Image.new('RGB', (width, height), (255, 255, 255))

# 加载字体
font = ImageFont.truetype('arial.ttf', 36)

# 创建绘图对象
draw = ImageDraw.Draw(image)

# 填充每个像素
for x in range(width):
    for y in range(height):
        draw.point((x, y), fill=rand_color())

# 指定位置绘制字符, draw.text(position,string, options)
for t in range(4):
    char1 = rand_char()
    draw.text((60 * t + 10, 10), char1, font=font, fill=rand_color2())

image.save('code_source.jpg', 'jpeg')

# 模糊
image = image.filter(ImageFilter.BLUR)
image.save('code.jpg', 'jpeg')

这里顺带贴一下常用的ASCII值。
chr() 用一个范围在 range(256)内的(就是0~255)整数作参数,返回一个对应的字符。返回值是当前整数对应的 ASCII 字符

ASCII值 控制字符
48 ~ 57 数字0 - 9
65 ~ 90 大写字母“A” - “Z”
97 ~ 122 小写字母“a” - “z”

参考链接
[Pillow–廖雪峰官方网站] :https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014320027235877860c87af5544f25a8deeb55141d60c5000

Ascii完整码表(256个):https://blog.csdn.net/ttmice/article/details/50978054

相关标签: ASCII Pillow