码迷,mamicode.com
首页 > 编程语言 > 详细

go语言编写图片验证码

时间:2020-06-30 00:29:03      阅读:108      评论:0      收藏:0      [点我收藏+]

标签:内容   png   查看   raw   url   测试   nic   panic   语言   

场景:
在开发中,我们经常会遇到图片验证码的代码开发。我们需要在前端访问我们的验证码接口时,能够生成图片验证码,并且验证码内容随机生成!其实很简单,我们可以用现成的”轮子“来实现我们的功能。
我们用到的是 github.com/afocus/captcha,它为我们提供了很好的方法,可以让我们自由的设置图片的大小、图片透明度、图片中字体等,有兴趣了解的朋有,可以查看官方文档了解学习,这里我就不多介绍了,贴出我自己的代码,仅供大家参考
func main() {
cap := captcha.New()
//通过句柄调用 字体文件
if err := cap.SetFont("你字体文件的路径"); err != nil {
panic(err.Error())
}
//设置图片大小
cap.SetSize(91,50)
//设置感染强度
cap.SetDisturbance(captcha.NORMAL)
cap.SetFrontColor(color.RGBA{255, 255, 255, 255})
cap.SetBkgColor(color.RGBA{255, 0, 0, 255}, color.RGBA{0, 0, 255, 255}, color.RGBA{0, 153, 0, 255})
http.HandleFunc("/r", func(w http.ResponseWriter, r *http.Request) {
img,str := cap.Create(4,captcha.ALL)
png.Encode(w,img)
fmt.Println(str)
})
http.HandleFunc("/c", func(w http.ResponseWriter, r *http.Request) {
str := r.URL.RawQuery
img := cap.CreateCustom(str)
png.Encode(w,img)
})
http.ListenAndServe(":9090",nil)
}

  我这里是通过socket的方式进行开发测试,能够看到更好更方便的看到效果,希望对大家有所帮助!

go语言编写图片验证码

标签:内容   png   查看   raw   url   测试   nic   panic   语言   

原文地址:https://www.cnblogs.com/linpengfei/p/13211095.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!