pillow学习7

绘制验证码

from PIL import Image,ImageFilter,ImageFont,ImageDraw
import random
width=100
hight=100
im=Image.new('RGB',(width,hight),(255,255,255))
draw=ImageDraw.Draw(im)
#获取颜色
def get_color1():return (random.randint(200, 255), random.randint(200, 255), random.randint(200, 255))def getchar():st='0123456789aAbBcCdDeEfFgGhHiIjjkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ'c=''for i in range(4):c+=random.choice(st)return c
#填充每个像素
for x in range(width):for y in range(hight):draw.point((x,y),fill=get_color1())#使画布呈现五彩斑斓的样子font = ImageFont.truetype('simsun.ttc', 36)draw.text((10,50),getchar(),font=font,fill=(random.randint(0, 255), random.randint(0, 255), random.randint(0, 255)))
im.filter(ImageFilter.GaussianBlur)
im.show()

你有一个目录,装了很多照片,把它们的尺寸变成都不大于 iPhone5 分辨率的大小。

from PIL import Image
import os, imghdr
def photo_resize(path):pw,ph = (1136, 640)#iphone5分辨率f_list = os.listdir(path)#获取文件夹中的文件列表for each in f_list:f_path = path+'\\'+each#表示单反斜杠时需要反义if imghdr.what(f_path):#判断是否是图片类型img = Image.open(f_path)w,h = img.sizeif(w>pw):img = img.resize((int(pw), int(h*(pw/w))))#resize返回的是一个imgw, h = img.sizeif(h>ph):img = img.resize((int(w*(ph/h)), int(ph)))#resize参数是一个包括两个整形变量的元组img.save(f_path)del img
if __name__ == "__main__":photo_resize(".\dir")

绘制九宫格:

from PIL import Image, ImageFilter, ImageFont, ImageDraw
width=300;height=300
x,y=0,0
im = Image.new("RGB",(width,height),(255,255,255)) #最后一个参数是背景颜色,像素默认值
draw = ImageDraw.Draw(im)
def get_color1():a = (x//100)+(y//100)if a == 0:return (255,0,0)elif a == 1:return (0,255,255)elif a ==2:return (0,0,255)elif a==3:return (255,255,0)elif a==4:return (255, 0, 255)else:return (0, 0, 0)
# 填充每个像素
for x in range(width):for y in range(height):draw.point((x, y), fill=get_color1())
im.show()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/15915.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

京东Java社招面试题真题,最新面试题

Java中接口与抽象类的区别是什么? 1、定义方式: 接口是完全抽象的,只能定义抽象方法和常量,不能有实现;而抽象类可以有抽象方法和具体实现的方法,也可以定义成员变量。 2、实现与继承: 一个类…

几种常用的配置文件格式对比分析——ini、json、xml、toml、yaml

配置文件用于存储软件程序的配置信息,以便程序能够根据这些信息进行自定义和调整。常用的配置文件格式包括INI、XML、JSON和YAML。下面对它们进行简单介绍,并分析各自的优缺点。 1. INI 文件格式 简介: INI(Initialization&…

FPGA之tcp/udp

在调试以太网的过程中,考虑了vivado IP配置(管脚、reset等),SDK中PHY芯片的配置(芯片地址、自适应速率配置等),但是,唯独忽略了tcp/udp协议,所以在ping通之后仍无法连接。 所以现在来学习一下tcp与udp的区别 ---- 为什…

经典面试题:进程、线程、协程开销问题,为什么进程切换的开销比线程的大?

上下文切换的过程? 上下文切换是操作系统在将CPU从一个进程切换到另一个进程时所执行的过程。它涉及保存当前执行进程的状态并加载下一个将要执行的进程的状态。下面是上下文切换的详细过程: 保存当前进程的上下文: 当操作系统决定切换到另…

浪潮信息IPF24:AI+时代,创新驱动未来,携手共创智慧新纪元

如今,数字化时代的浪潮席卷全球,人工智能已经成为推动社会进步的重要引擎。浪潮信息IPF24作为行业领先的AI技术盛会,不仅为业界提供了交流合作的平台,更在激发创新活力、拓展发展路径、加速AI技术落地等方面发挥了重要作用。 升级…

OS复习笔记ch6-2

死锁的解决 死锁的预防(打疫苗)死锁的避免(戴口罩)死锁的检测(做核酸) 死锁的预防 前面我们提到了死锁的四个必要条件 防止前三个必要条件,就是间接预防防止最后一个必要条件–循环等待&…

软测刷题-错题1

提高测试效率的方法: 1、不要做无效的测试 2.不要做重复的测试 3.不同测试版本的测试侧重点 4.优化测试顺序 LoadRunner是对服务器进行施压。 在数据库中存在的用户数是指注册用户数。 input标签可以直接使用send_keys实现上传,而非input标签是无法直…

Rust后台管理系统Salvo-admin源码编译

1.克隆salvo-admin后台管理系统源码: https://github.com/lyqgit/salvo-admin.git 2.编译 编译成功 3.创建mysql数据库与执行sql脚本 输入名称ry-vue 执行sql脚本 全部执行上面3个sql 修改数据库用户名与密码: 清理及重新编译 cargo clean cargo build 4.运行并测试 cargo…

Android内存碎片化调优

概念 内存碎片分为两种,一种是内存页中的碎片,被称为内部碎片;另一种是空闲分散的内存页,凑不齐一个组物理地址连续的空闲内存页,就没办法分配了,这些散落的内存页被称为外部碎片。 在Android系统中,内存碎片化是指内存中存在很多小块的空闲内存,这些内存块之间不连续…

使用vue,mybatis,mysql,tomcat,axios实现简单的登录注册功能

目录 第一步环境搭建 后端: 前端: 第二步画流程图 web: service: dao层: 第三步前端代码的实现 这是开始的页面,接下来我们要到router路由下书写#login的路径 路由中的component在我们自己创建的views书写vue文件…

单日收益1000+看了就会的项目,最新灵异短视频项目,简单好上手可放大操作

各位好友,佳哥在此与大伙儿聊聊一项神秘莫测的短视频项目。你或许会想,“又是一个视频创作项目?” 但别急,这个项目与众不同,日入千元不再是梦,而且它的易用性让人惊喜,无论你是初学者还是资深玩…

春秋云境CVE-2018-7422

简介 WordPress Plugin Site Editor LFI 正文 1.进入靶场 2.漏洞利用 /wp-content/plugins/site-editor/editor/extensions/pagebuilder/includes/ajax_shortcode_pattern.php?ajax_path/../../../../../../flag看别人wp做的。不懂怎么弄的,有没有大佬讲一下的

没有电商经验的人去操作抖音小店,难度大不大?好操作吗?

大家好,我是电商小V 很多新手小伙伴想去操作抖音小店项目,咨询的最多的问题就是我没有电商运营的经验可以去操作吗? 当然是可以操作的,抖音小店项目对于新手来说是一个非常友好的项目,很多小伙伴都是感觉没有电商经验去…

数据库攻防之MySQL

MySQL 是最流行的关系型数据库,与此同时也是 web 应用中最好的关系型数据库管理应用软件。我们在渗透过程中碰到的 PHP 站点大部分都会搭配 MySQL 数据库,因此它是红队攻防中最常遇到的数据库。 0x01 MySQL简介 MySQL 是典型的关系型数据库,…

YOLOv10 | 无NMS的YOLO | 实时端到端目标检测的新突破

过去几年里,YOLOs因在计算成本和检测性能之间实现有效平衡而成为实时目标检测领域的主流范式。研究人员针对YOLOs的结构设计、优化目标、数据增强策略等进行了深入探索,并取得了显著进展。然而,对非极大值抑制(NMS)的后…

redis--消息队列

分类 生产者消费模式 发布者订阅模式 生产者消费模式 在生产者消费者(Producer/Consumer)模式下,上层应用接收到的外部请求后开始处理其当前步骤的操作,在执行完成后将已经完成的操作发送至指定的频道(channel)当中,并由其下层的应用监听…

【Chrono Engine学习总结】6-创建自定义场景-6.2-chrono中的光线设置

由于Chrono的官方教程在一些细节方面解释的并不清楚,自己做了一些尝试,做学习总结。 上一篇文章中,自己【用sketchup重建了三维场景】,但导入chrono中颜色很不正确,几乎都是白色的,但也不是完全白色。经过…

IDE上传本地仓库到GitHub

IDE上传本地仓库到GitHub 1、选择远程仓库平台2、下载安装Git3、IDE集成Git4、本地项目上传GitHub 1、选择远程仓库平台 1.1、注册远程仓库平台 常见的远程仓库托管平台有: 1)GitHub 域名:https://github.com 介绍:GitHub是全球最…

Java订餐系统源码 springboot点菜系统源码

Java订餐系统源码 springboot点菜系统源码 源码下载地址:https://download.csdn.net/download/xiaohua1992/89341358 功能介绍: 前台登录:前台登录: ①首页:菜品信息推荐、菜品信息展示、查看更多 ②菜品信息&…

Stanford斯坦福 CS 224R: 深度强化学习 (3)

基于模型的强化学习 强化学习(RL)旨在让智能体通过与环境互动来学习最优策略,从而最大化累积奖励。传统的强化学习方法如Q-learning、策略梯度等,通过大量的试错来学习值函数或策略,样本效率较低。而基于模型的强化学习(MBRL)则利用对环境的预测模型来加速学习过程,大大提高了…