搜索
    上传资料 赚现金
    英语朗读宝

    粤高教版八年级下册信息技术第2单元第3课 生成登录验证码 课件

    粤高教版八年级下册信息技术第2单元第3课 生成登录验证码 课件第1页
    粤高教版八年级下册信息技术第2单元第3课 生成登录验证码 课件第2页
    粤高教版八年级下册信息技术第2单元第3课 生成登录验证码 课件第3页
    粤高教版八年级下册信息技术第2单元第3课 生成登录验证码 课件第4页
    粤高教版八年级下册信息技术第2单元第3课 生成登录验证码 课件第5页
    粤高教版八年级下册信息技术第2单元第3课 生成登录验证码 课件第6页
    粤高教版八年级下册信息技术第2单元第3课 生成登录验证码 课件第7页
    粤高教版八年级下册信息技术第2单元第3课 生成登录验证码 课件第8页
    还剩30页未读, 继续阅读
    下载需要10学贝 1学贝=0.1元
    使用下载券免费下载
    加入资料篮
    立即下载

    初中信息技术粤高教版 (2018)八年级下册第3课 生成登录验证码——PIL库的应用评课ppt课件

    展开

    这是一份初中信息技术粤高教版 (2018)八年级下册第3课 生成登录验证码——PIL库的应用评课ppt课件,共38页。PPT课件主要包含了新知导入,新知讲解,分析问题,学习新知,一PIL库,设计算法,实践与创作,图2-3-3,检测与评估,拓展新知等内容,欢迎下载使用。
    图 2-3-1 某网站登录界面
    图中的验证码是x7pa;验证码通常还有选择点击图、滑动图等
    本课的任务是生成一张含有5位随机数验证码图片。程序要解决的关键问题:一是如何生成一张随机颜色的底图;二是如何在该图上添加五个0~9之间的随机数。 要实现以上功能,需要利用一下两个库(模块):(1)利用randm模块随机设定底图颜色和验证码的数字(2)利用PIL库生成底图并添加验证码
    pip install pillw
    本课任务将用到PIL库中的Image,ImageFnt,ImageDraw三个模块。Image模块是PIL中的核心模块,具有创建、打开、显示、保存、裁剪和获取图像属性等功能;ImageDraw模块具有在图像上绘图和添加文字等功能。从PIL库中导入这三个模块的命令如下:
    frm PIL imprt Image,ImageDraw,ImageFnt
    #charpic.py#从PIL库中导入这三个模块frm PIL imprt Image,ImageDraw,ImageFnt#创建一张宽200、高100的红色底图img=Image.new(‘RGB’,(200,100),’red’)canvas=ImageDraw.Draw(img) #把底图放到“画布”canvas上
    #设变量fnt,记录文字样式为simsun字体,大小26fnt=ImageFnt.truetype(‘simsun.ttc’,26)#在坐标为(20,0)的位置上添加样式为fnt蓝色文字‘welcme!’canvas.text((20,0),’Welcme!’,’blue’,fnt)img.shw() #显示生成的图片img.save(‘charpic.jpg’) #以文件名charpic.jpg保存图片
    1、修改程序captcha.py,创建其他尺寸和颜色的底图,并把自己姓名的汉语拼音添加到底图的中间位置。
    2、在IDLE交互模式下按顺序输入以下命令,参考图2-3-2的输出内容情况,比较imprt命令与frm-imprt命令有何不同。
    >>>imprt numpy #导入库>>>linspace(0,10,6) #生成等差数列>>>numpy.linspace(0,10,6) #生成等差数列>>>frm numpy imprt linspace #从库中导入对象(函数)>>>linspace(0,10,6) #生成等差数列
    图2-3-2imprt命令与frm-imprt命令执行效果比较
    根据前面的分析,生成一张含五位随机数验证码图片的算法思路如下:
    1、从PIL库导入Image、ImageFnt、ImageDraw三个模块2、从randm模块导入randint()函数3、创建验证码的随机色底图4、设定底图为要添加内容的对象5、在底图上添加五个0~9之间的随机数作为验证码6、显示和保存图像
    四、编写程序(一)创建底图
    利用Image模块中的new()函数来创建底图。为了得到随机颜色的底图,需要生成三个0~255之间的随机数,分别作为R、G、B三个颜色通道的数值。
    请根据以上提示完善程序captcha.py,创建一张随机颜色的底图。
    # captcha.py frm PIL imprt Image,ImageDraw,ImageFnt #导入模块frm randm imprt randint #从标准库的随机模块中导入函数randint
    #用三个变量分别存放生成三个0~255的随机数,作为R、G、B通道的三个数值c1=randint(0,255) c2=_________________ c3=_________________img=Image.new(‘RGB’,(150,30),(c1,c2,c3)) #创建随机颜色的底图
    randint(0,255)
    (二)设定底图为要添加内容的对象
    有了底图,再通过以下的代码设定,就可以调用相关函数在该图上进行绘图和添加文字等操作了。
    canvas=ImageDraw.Draw(img) #设定将要添加文字或绘图的对象,即img中的底图
    (三)在图像上添加数字验证码 1、预设验证码的文字样式
    #设变量fnt,记录文字样式为simsun字体,大小26fnt=ImageFnt.truetype(‘simsun.ttc’,26)
    2、生成五个0~9之间的随机数字组成验证码
    可使用fr循环控制,分别产生五个0~9的随机数字,并按一定的间隔添加到底图上。假设第一个字符起始位置在(10,0),后续每隔30写入下一个数字。则生成验证码的语句为:
    #生成五个0~9的随机数,str函数的作用是把数字类型转换成字符串类型fr i in range(5): canvas.text((10+i*30,0),str(randint(0,9)),’black’,fnt)
    (四)显示和保存图像
    img.shw()img.save(‘captcha.jpg’)
    完成验证码的添加后,可以使用shw()函数显示图像,用save()函数把图像以文件形式保存起来。
    请把上述代码组织成一个完整的程序,并运行程序生成验证码图片。
    1、请修改程序captcha.py,以生成5位随机颜色的数字验证码。(提示:修改循环体部分)
    fr i in range(5): #生成五个随机颜色的0~9的数字 r=________________ g=_______________ b=_______________ canvas.text((10+i*30,0),str(randint(0~9)),(r,____,____),fnt)
    randint(0,255)
    2、位声明图片版权,不少作者会在公开的摄影作品中添加水印。请编写程序,对自己的一张照片添上个性化文字(如图2-3-3所示)。[提示:打开现有图片的参考代码是img=Image.pen(“view.jpg”,’r’]
    1、导入模块命令‘frm PIL imprt Image’与下列哪个命令都可以导入相同的模块?( ) A、frm ImageB、imprt PIL.Image C、frm PIL D、imprt PIL
    2、Image.new的功能是( )图像 A、创建B、裁剪 C、缩放D、保存
    3、语句‘canvas.text((100,50),’I lve China’,’green’,ziti)’中‘(100,50)’表示( ) A、图像尺寸 B、文字位置 C、文字内容 D、文字颜色
    4、以下说法正确的是( )A、在Pythn中只能用red、blue等控制颜色 B、PIL属于Pythn的标准库C、必须先把图像设定为操作的对象,才能在图像上添加文字 D、用save()函数默认保存的位置是桌面
    5、完成表2-3-1的学习评估,并将评估等级填写到“我的成长记录袋”中。
    表2-3-1 学习评估表
    一、PIL库的安装命令二、Image、ImageDraw、ImageFnt模块的导入命令

    相关课件

    初中信息技术粤高教版 (2018)八年级下册*第4课 检测图像中的人脸——0penCV库的应用图文课件ppt:

    这是一份初中信息技术粤高教版 (2018)八年级下册*第4课 检测图像中的人脸——0penCV库的应用图文课件ppt,共39页。PPT课件主要包含了新知导入,新知讲解,分析问题,学习新知,一OpenCV库,二分类器,关闭所有窗口,设计算法,cv2imread,cv2imshow等内容,欢迎下载使用。

    初中信息技术粤高教版 (2018)八年级下册第二单元 实用程序我来编第2课 绘制函数图象——matplotlib与numpy库的应用示范课课件ppt:

    这是一份初中信息技术粤高教版 (2018)八年级下册第二单元 实用程序我来编第2课 绘制函数图象——matplotlib与numpy库的应用示范课课件ppt,共45页。PPT课件主要包含了新知讲解,新知导入,分析问题,学习新知,图2-2-2,图2-2-3,图2-2-4,pyplot模块,二numpy库,设计算法等内容,欢迎下载使用。

    粤高教版 (2018)八年级下册第1课 加法心算游戏——random与time模块的应用集体备课ppt课件:

    这是一份粤高教版 (2018)八年级下册第1课 加法心算游戏——random与time模块的应用集体备课ppt课件,共38页。PPT课件主要包含了新知导入,新知讲解,分析问题,学习新知,一函数与库,三time模块,圆周率3142,设计算法,t2t1+60,True等内容,欢迎下载使用。

    文档详情页底部广告位
    欢迎来到教习网
    • 900万优选资源,让备课更轻松
    • 600万优选试题,支持自由组卷
    • 高质量可编辑,日均更新2000+
    • 百万教师选择,专业更值得信赖
    微信扫码注册
    qrcode
    二维码已过期
    刷新

    微信扫码,快速注册

    手机号注册
    手机号码

    手机号格式错误

    手机验证码 获取验证码

    手机验证码已经成功发送,5分钟内有效

    设置密码

    6-20个字符,数字、字母或符号

    注册即视为同意教习网「注册协议」「隐私条款」
    QQ注册
    手机号注册
    微信注册

    注册成功

    返回
    顶部
    Baidu
    map