国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python使用pil生成圖片驗證碼的方法

2020-01-04 19:16:57
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了python使用pil生成圖片驗證碼的方法,涉及Python操作Image,ImageDraw,ImageFont等模塊的相關技巧,需要的朋友可以參考下

本文實例講述了python使用pil生成圖片驗證碼的方法。分享給大家供大家參考。具體實現方法如下:

 

 
  1. # -*- coding: utf-8 -*- 
  2. #導入三個模塊 
  3. import Image,ImageDraw,ImageFont 
  4. import random 
  5. import math 
  6. '''''基本功能''' 
  7. #圖片寬度 
  8. width = 100 
  9. #圖片高度 
  10. height = 40 
  11. #背景顏色 
  12. bgcolor = (255,255,255
  13. #生成背景圖片 
  14. image = Image.new('RGB',(width,height),bgcolor) 
  15. #加載字體 
  16. font = ImageFont.truetype('FreeSans.ttf',30
  17. #字體顏色 
  18. fontcolor = (0,0,0
  19. #產生draw對象,draw是一些算法的集合 
  20. draw = ImageDraw.Draw(image) 
  21. #畫字體,(0,0)是起始位置 
  22. draw.text((0,0),'1234',font=font,fill=fontcolor) 
  23. #釋放draw 
  24. del draw 
  25. #保存原始版本 
  26. image.save('1234_1.jpeg'
  27. '''''演示扭曲,需要新建一個圖片對象''' 
  28. #新圖片 
  29. newImage = Image.new('RGB',(width,height),bgcolor) 
  30. #load像素 
  31. newPix = newImage.load() 
  32. pix = image.load() 
  33. offset = 0 
  34. for y in range(0,height): 
  35. offset += 1 
  36. for x in range(0,width): 
  37. #新的x坐標點 
  38. newx = x + offset 
  39. #你可以試試如下的效果 
  40. #newx = x + math.sin(float(y)/10)*10 
  41. if newx < width:  
  42. #把源像素通過偏移到新的像素點 
  43. newPix[newx,y] = pix[x,y] 
  44. #保存扭曲后的版本  
  45. newImage.save('1234_2.jpeg'
  46. '''''形變一下''' 
  47. #x1 = ax+by+c 
  48. #y1 = dx+ey+f 
  49. newImage = image.transform((width+30,height+10), Image.AFFINE, (1,-0.3,0,-0.1,1,0)) 
  50. newImage.save('1234_3.jpeg'
  51. '''''畫干擾線,別畫太多,免得用戶都看不清楚''' 
  52. #創建draw,畫線用 
  53. draw = ImageDraw.Draw(newImage) 
  54. #線的顏色 
  55. linecolor= (0,0,0
  56. for i in range(0,15): 
  57. #都是隨機的 
  58. x1 = random.randint(0,width) 
  59. x2 = random.randint(0,width) 
  60. y1 = random.randint(0,height) 
  61. y2 = random.randint(0,height) 
  62. draw.line([(x1, y1), (x2, y2)], linecolor)  
  63. #保存到本地 
  64. newImage.save('1234_4.jpeg'

希望本文所述對大家的Python程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 交城县| 辛集市| 兴文县| 遂宁市| 哈密市| 思南县| 丽水市| 文水县| 海盐县| 名山县| 建昌县| 天门市| 云梦县| 额尔古纳市| 宁河县| 茂名市| 鸡泽县| 白山市| 玛沁县| 禄丰县| 滦平县| 滦平县| 家居| 夏河县| 普洱| 卓资县| 贵溪市| 福州市| 民丰县| 洛阳市| 宁安市| 腾冲县| 霍邱县| 沈丘县| 平舆县| 海林市| 泸溪县| 景德镇市| 长宁县| 乳山市| 右玉县|