pil库修改图片大小_Gvcode库:一个更简单的、华人开源的、自动生成验证码的python库...

1 说明:

=====

1.1 gvcode全称:graphic-verification-code。

1.2 基本介绍,一秒搞懂。

1.3 并对源码进行修改一个小bug,教您如何修改源码,解决bug。

85ae9bad191b4eef03d9bf69aa4c8e97.png

2 准备:

=====

2.1 官网:

https://pypi.org/project/graphic-verification-code/https://github.com/vcodeclub/graphic-verification-code#大神地址https://pypi.org/user/Hackathon/  #可能是华人,国籍不明,也是一种骄傲

2.2 安装:

pip install graphic-verification-code  #注意不是gvcode#注意,这个库依赖于PIL#本机安装,推荐国内源安装,超级快sudo pip3.8 install -i https://mirrors.aliyun.com/pypi/simple graphic-verification-code

2.3 环境:

华为笔记本电脑、深度deepin-linux操作系统、谷歌浏览器、python3.8和微软vscode编辑器。

4edd791a7c05fd8f559ab9266859f046.png

推测是华人,汉字参数说明,应该是中国人,一种骄傲

3 第一个简单例子:

=============

3.1 默认参数代码:

#导入模块,注意不是graphic-verification-codeimport gvcode#实例化自动生成图片和验证码img, code = gvcode.generate()#终端打印验证码print(code)#暂时图片img.show()#保存图片#img.save('/home/xgj/Desktop/gvcode/1.jpg')

3.2 图:

f2f977739c550ce9ebb76af7272a9aee.png

4 修改参数例子:

===========

4.1 第一步:导入模块

import gvcode

4.2 第二步:自定义部分参数

#自定义:图片大小,背景颜色和字体颜色,字体大小,字符串长度img, code = gvcode.generate(size=(480,120),bg_color=(255,255,255), fg_color=(55,110,0), font_size=30, length=6)

完整参数说明:

#参数:generate(size=(120,30), chars=None, format='PNG', #mode='RGB', bg_color=(255,255,255), fg_color=(0,0,255), #font_size=18, font_file=None, length=4, draw_lines=True, #line_range=(1,2), draw_points=True, point_chance=2)
96ed3e6b26177f6a707c2d50a6ceb331.png

4.3 第三步:

print(code)  #终端打印验证码img.show() #展示生成验证码的图片

4.4 图:

7b4ba05f090adcb76a809e0e02a03798.png

合格的

4.5 小bug图:

9dbca396d0ad1772ffaf5b6297e0fe0f.png

小bug:6个只显示5个

4a4ed7a002930ec4023d17523617dd87.png

小bug:6个只显示5个

5 对源码进行修改:

==============

5.1 本机位置:

#本机位置,root下file:///usr/local/python3.8/lib/python3.8/site-packages/gvcode文件夹#打开main.py#第77行修改

5.2 如图:

b264dbf489a60dae25e23329cff748d4.png

5.3 分析,就是字符串text出现在图片窗口的坐标是可变的,改成固定位置0,0,左上角。

5.4 修改成如下图:

b40c5c4bc7fb6306f1c745ecc2fd4769.png

5.5 代码不变,简洁代码:

import gvcode#自定义:图片大小,背景颜色和字体颜色,字体大小,字符串长度img, code = gvcode.generate(size=(480,120),bg_color=(255,255,255), fg_color=(55,110,0), font_size=30, length=6)print(code)img.show()

5.6 修改后图:

e7a0697ba2fa1b18702504737678c010.png

===自己整理并分享出来===

喜欢的人,请点赞、关注、评论、转发和收藏。

当然,如果再牛些,可以对github上他的源码进行修改,这样以后安装

pip install gvcode #希望修改成这样,不好么?pip install graphic-verification-code #现在这样的

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

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

相关文章

iOS获取某个日期后n个月的日期

一、给一个时间,给一个数,正数是以后n个月,负数是前n个月;1 -(NSDate *)getPriousorLaterDateFromDate:(NSDate *)date withMonth:(NSInteger)month2 3 {4 5 NSDateComponents *comps [[NSDateComponents alloc] init];6 …

Android-AB系统OTA升级介绍

什么是OTA升级?OTA是Over-the-Air的简称,OTA升级可以理解为用户正常使用过程中进行升级,OTA 升级旨在升级基础操作系统、系统分区上安装的只读应用和/或时区规则。什么是Android AB系统更新A/B 系统升级,也叫做无缝更新&#xff0…

python输出进度条 tqdm_python-tqdm进度条

Tqdm 进度条可视化模块2018-12-04 14:34:25 使用python Tqdm进度条库让你的python进度可视化 Tqdm在阿拉伯语表示进步,在西班牙语中表示我非常爱你.是一个快速,可扩展的Python进度条, ...Python字符进度条Python字符进度条 看看这个神奇的module from tqdm import trange from …

看完少年的你,想到少年的我

别人喜欢听故事,所以我就讲故事,我可以不是现在的我,但是我还是原来的我,我从一个很小的地方来,我小时候,家里赚钱很难,读书是一件很苦的事情,但是呢,读书又是一件非常光…

伤感网络验证系统_知网查重报告单能造假?验证报告单真伪时,知网只给了这一个办法...

这是论文屋推送的第5篇文章,论文代发寻渠道,就到论文屋。现在的修图功能太强大了有木有?除了专业的一点的AdobePhotoshop之外,任何的一款修图软件甚至手机软件都可以更改一张图的任何地方,最重要的是,技术高…

jQuery: 整理3---操作元素的内容

1.html("内容") ->设置元素的内容&#xff0c;包含html标签&#xff08;非表单元素&#xff09; <div id"html1"></div><div id"html2"></div>$("#html1").html("<h2>上海</h2>") …

安卓系统监听system property值?

预备知识-什么是system propertysystem property是系统属性&#xff0c;以key-value格式保存。可以通过以下方式读取和修改system property的值&#xff1a;1.adbadb shell getprop <key> adb shell setprop <key> <value>2.C/Cint property_get(const char…

为什么全天坐在电脑前会让你精疲力竭

Tips 原文作者&#xff1a;Katie Heaney 原文地址&#xff1a;Why Sitting at Your Computer All Day Can Wipe You Out 像大多数日子一样&#xff0c;我昨天大部分时间坐在我认为是公寓最美丽的一角&#xff0c;一直在笔记本电脑打字。 我提交了一个故事&#xff0c;转述了几个…

这届全明星,把NBA又燃回来了

第一个罚球&#xff0c;戴维斯出手后&#xff0c;听到哐当医生&#xff0c;皮球掉了出来。我又紧张了。微信群了很多人开始发消息&#xff0c;说詹姆斯队又要输了。回到比赛。戴维斯当时没有任何微笑&#xff0c;我估计他内心也是紧张的&#xff0c;他有点埋怨哈登&#xff0c;…

PYTHON__ ITERTOOLS模块

组成 总体&#xff0c;整体了解 无限迭代器 迭代器 参数 结果 例子 count() start, [step] start, startstep, start2*step, ... count(10) --> 10 11 12 13 14 ... cycle() p …

redis分布式锁java代码_基于redis实现分布式锁

“ 在上一篇文章中介绍了动态配置定时任务&#xff0c;其中的原理跟spring 定时任务注解Scheduled一样的&#xff0c;都是通过线程池和定义执行时间来控制。来思考一个问题&#xff0c;如果我们的定时任务在分布式微服务里面呢&#xff1f;在分布式微服务里面一个微服务肯定可以…

数值字符串

加粗样式 数值与字符串 受限于电脑内存 数字 int float 布尔 none 列表list:l[1,2,3] l[1]2 字典表dict:d{‘name’;‘tom’,‘age’:20} d.get(‘name’) d[‘name’] 元组t(1,2,3,4) 元组与列表区别&#xff1a;列表可以改变相应下标数据&#xff0c;元组不行。 数值&#x…

C语言写个贪吃蛇游戏

贪吃蛇是个非常经典的游戏&#xff0c;用C语言来实现也是一个好玩的事情。这个游戏我写完后放在知乎&#xff0c;竟然点赞的人数超级多。我觉得大家喜欢&#xff0c;一个方面是因为写得简单&#xff0c;大家都能看得懂&#xff0c;一个可扩展性还是非常强的。我试了说一下这个代…

seir模型matlab_疫情专题 | 传染病的经典数学模型

在此次新冠肺炎疫情防控过程中&#xff0c;对疫情发展趋势的科学预测显得尤为重要。而这背后&#xff0c;离不开对传染病传播规律的建模。今天&#xff0c;小编就带各位数学学子们来了解一下传染病的四大经典数学模型&#xff1a;SI/SIS/SIR/SEIR。其中用到了许多微分方程的知识…

vlh 标签详解

1.vlh:root root标签做为所有vlh标签的根标签. 1)value 在给定的范围内&#xff0c;包含在ValueList或list的变量名. List的实例自动被DefaultListBackedValueList包装在ValueList中 2)id 如果有多个表被包含在一个request中&#xff0c;ID属性能区分每个表。id被追加到所…

ubuntu电脑安装硬盘

最近在做安卓开发&#xff0c;一套RK3399的安卓代码&#xff0c;解压编译后占用170多G的硬盘。所以呢&#xff0c;原来1T大小的硬盘&#xff0c;很快就沾满了&#xff0c;然后我赶紧给北京总部申请买了一个新的硬盘。现在的台式电脑都是用的SATA硬盘接口&#xff0c;我赶紧就上…

python 制作抽奖箱_用Excel函数制作抽奖箱

话说各在公司每年的年会上&#xff0c;或者平时的一些分组活动上&#xff0c;又或者是某个内部组织的业务竞赛上……偶尔会遇到抽奖或抽签的环节&#xff0c;例如你的公司开展了一个实操的业务竞赛&#xff0c;一共80道题目&#xff0c;参赛人员要随机抽取题目然后做答。好的&a…

字典表

字典表 &#xff1a; dict 声明 键;值dict(键值) 操作 获取d.get(键‘默认值) 合并d.update(d2) 键值emp.items 菜单emp.keys 效果emp.values得到视图 遍历打印for x in emp.keys 支持嵌套 由于哈希算法导致顺序混乱可以将方法转换为列表&#xff0c;在排序 方法二 全局函…

Sql Server常用函数及技巧

使用Sql Server好长时间了&#xff0c;今天特别想总结一下&#xff0c;算是回顾吧&#xff01; 总结&#xff1a; 其实很多技巧&#xff0c;都是基于SQL Server自带的System Views&#xff0c;System Stored Procedures&#xff0c;System Functions (常用函数都在在里面)。 常…

十分钟让你明白AIDL

前言我在[003]AIDL是什么中介绍的AIDL&#xff0c;但是好像还有朋友不明白问我&#xff0c;那我就来写一个终极版的文章&#xff0c;让你十分钟彻底明白AIDL&#xff0c;以下代码全为手写。目标Server进程注册一个Binder服务到SM&#xff0c;该Binder服务提供两个接口&#xff…