验证码:滑动,图片

@never_cache  # 永不使用缓存,每次请求都是从新运行代码def v_code(request):    from PIL import Image, ImageDraw, ImageFont

import random

# 这是一个产生随机颜色的函数    def get_color():        return random.randint(0, 255), random.randint(0, 255), random.randint(0, 255)

img_obj = Image.new(        "RGB",  # 格式        (250, 35),  # 尺寸        color=get_color()    )

# 在图片中加文字    # 生成一个画笔对象    draw_obj = ImageDraw.Draw(img_obj)    # 加载字体文件    font_obj = ImageFont.truetype("static/font/kumo.ttf", size=28)

# 生成随机5位字符串    l = []    for i in range(5):        n = str(random.randint(0, 9))        m = chr(random.randint(65, 90))        s = chr(random.randint(97, 122))        r = random.choice([n, m, s])        l.append(r)        draw_obj.text(            (i * 48 + 20, 0),  # 字体在图片中的位置            r,  # 内容            get_color(),  # 颜色            font=font_obj        )    # 5位随机验证码    v_code_str = ‘‘.join(l)    # 每个请求对应自己的验证码

request.session[‘v_code‘] = v_code_str.upper()

# 加干扰线    # width = 250  # 图片宽度(防止越界)    # height = 35    # for i in range(2):    #     x1 = random.randint(0, width)    #     x2 = random.randint(0, width)    #     y1 = random.randint(0, height)    #     y2 = random.randint(0, height)    #     draw_obj.line((x1, y1, x2, y2), fill=get_color())    #    # # 加干扰点    # for i in range(2):    #     draw_obj.point([random.randint(0, width), random.randint(0, height)], fill=get_color())    #     x = random.randint(0, width)    #     y = random.randint(0, height)    #     draw_obj.arc((x, y, x+4, y+4), 0, 90, fill=get_color())

# 第一版:将生成的图片保存到文件中    # with open(‘aa.png‘,‘wb‘)as f:    #     img_obj.save(f,‘png‘)    # print(‘图片已经生成‘)    # with open(‘aa.png‘,‘rb‘)as f:    #     return HttpResponse(data,content_type=‘image/png‘)

# 第二版:在内存中保存图片    from io import BytesIO    tmp = BytesIO()  # 生成一个io对象    img_obj.save(tmp, ‘png‘)    data = tmp.getvalue()    return HttpResponse(data, content_type=‘image/png‘)

原文地址:https://www.cnblogs.com/zhaoweihang/p/9282262.html

时间: 2024-08-30 13:02:52

验证码:滑动,图片的相关文章

Android 使用ViewPager实现左右循环滑动图片

ViewPager这个小demo实现的是可以左右循环滑动图片,下面带索引,滑到最后一页在往右滑动就要第一页,第一页往左滑动就到最后一页,先上效果图,用美女图片是我一贯的作风,呵呵 1.    首先看一些layout下的xml <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layo

ios7中使用scrollview来横向滑动图片,自动产生偏移竖向的偏移 问题

ios7中使用scrollview来横向滑动图片,自动产生偏移竖向的偏移 问题 如图红色为scrollview的背景色,在scrollview上加了图片之后,总会有向下的偏移 设置contentOffset也不管用 在ios7中controller有个 automaticallyAdjustsScrollViewInsets属性,默认为YES if (iOS7&&[self respondsToSelector:@selector(automaticallyAdjustsScrollVie

js鼠标滑动图片显示隐藏效果

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <!--声明当前页面的编码集charset=gbk中文编码gb2312,charset=utf-8国际编码--> <meta http-equi

appium 学习各种小功能总结--功能有《滑动图片、保存截图、验证元素是否存在、》---新手总结(大牛勿喷,新手互相交流)

1.首页滑动图片点击 1 /** 2 * This Method for swipe Left 3 * 大距离滑动 width/6 除数越大向左滑动距离也越大. 4 * width:720 5 *height:1280 6 * @author Young 7 * @param driver2 8 * @param during 9 */ 10 public void swipeToLeft2(AndroidDriver driver2, int during) { 11 int width =

随机验证码、图片验证码和邮箱发送用户验证码

随机验证码.图片验证码和邮箱发送用户验证码 一.随机验证码 随机验证码的生成比较简单一般在注册用户的时候与邮箱或者手机信息接口相结合实现发送验证码功能,随机验证码只需要使用python内置的random随机数函数,调用random模块:import random,具体实现代码块 #随机验证码 def authCode(): code = '' for i in range(6): current = random.randrange(0,6)#randrange随机生成0-6的数字,但不包括6

制作验证码时 图片无法刷新

1在网页上制作上图中的验证码时,点击图片不能刷新依旧是原图,找了好久终于发现是js语句中的错误,如下: 如果不加后面的new Date().getTime(),每次请求/AuthCode/getAuthCode都是一样的所以图片不会变化,加上之后每次请求会变化,就会重新加载图片了1 function reload(){                    document.getElementById("bt").src="/AuthCode/getAuthCode?&qu

验证码和图片上传和多张图片无刷新上传

先来验证码一般处理程序编写 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 6 namespace Blog.UI 7 { 8 using System.Drawing; 9 using Blog.Common; 10 /// <summary> 11 /// Vcode 的摘要说明 12 /// </summary> 13 public c

JS+DOM实例一:鼠标滑动图片

经常,我们在浏览各种网页的时候,都会有各种动画效果展示,像下图所示的是很多网上商城常用的货品展示方式,同类的货品并排展现在窗口上,用户如果看中了哪一款商品想要查看详情的话,只要将鼠标放上该商品的区域,原本折叠起来的商品便会自动展开,详情便会展现在用户面前,而这一动画,就是利用了DOM+JS结合来实现的,今天的小练习就是要实现这个效果. 首先,先将页面基本的框架用html实现,将四张图封装在了一个名为“container”的div块中 1 <!doctype html> 2 <meta c

黑马day04 画一个汉字的随机验证码的图片

下面的程序详细介绍了如何画一个随机验证码发送到客户端即浏览器进行显示: 1.画随机验证码的代码: package cn.itheima.response; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.io.IOException; import j

视差响应动画滑动图片切换效果

这是一款非常强大的内容切换插件,它基于jQuery,它充分响应,支持移动设备,支持手机触摸,键盘翻页:它内置幻灯.视频播放计时器,它拥有各种模式:自定义,自动响应,全屏:它有多种动画效果.3d效果...总之你想到的效果它都做到了,它的名字叫Slider Revolution. HTML Slider Revolution是一款基于jQuery的插件,使用它时需要先载入jQuery库文件,以及Slider Revolution依赖的css和js文件. <script src="js/jque