Простой генератор проверочных кодов на языке Go.
Библиотека для создания проверочных кодов с использованием языка Golang. Позволяет генерировать коды со случайным количеством букв, случайными прямыми линиями, случайными точками и т. д. Можно настроить любое количество шрифтов, и каждый код будет выбирать один из них случайным образом.
go get github.com/lifei6671/gocaptcha/
go get github.com/golang/freetype
go get github.com/golang/freetype/truetype
go go get golang.org/x/image
Можно скачать пакеты с http://www.golangtc.com/download/package или https://gopm.io.
Конкретные примеры можно найти в каталоге example, где есть сгенерированные изображения проверочных кодов.
func Get(w http.ResponseWriter, r *http.Request) {
// Инициализируем объект проверочного кода
captchaImage,err := gocaptcha.NewCaptchaImage(dx,dy,gocaptcha.RandLightColor());
// Рисуем три случайные прямые линии
captchaImage.Drawline(3);
// Добавляем рамку
captchaImage.DrawBorder(gocaptcha.ColorToRGB(0x17A7A7A));
// Добавляем случайные точки
captchaImage.DrawNoise(gocaptcha.CaptchaComplexHigh);
// Добавляем случайные текстовые точки
captchaImage.DrawTextNoise(gocaptcha.CaptchaComplexLower);
// Добавляем текст проверочного кода, который можно предварительно сохранить в Session или другом хранилище
captchaImage.DrawText(gocaptcha.RandText(4));
if err != nil {
fmt.Println(err)
}
// Сохраняем проверочный код в выходной поток, например, файл или HTTP-поток
captchaImage.SaveImage(w,gocaptcha.ImageFormatJpeg);
}
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )