Многие места, где встречаются коды проверки при использовании узла для веб -разработки. Ранее, искавший на GitHub, были некоторые классовые библиотеки, такие как Node-Captcha, которые все полагаются на сторонние библиотеки обработки графики или программное обеспечение. Например, когда я установил графическую библиотеку Cario, это было много усилий, но на самом деле мы использовали лишь немного небольших функций этих графических библиотек, таких как модификация и обрезка размера картины или создание кодов проверки.
Давайте сначала представим графическую библиотеку CIMG C ++. CIMG-это кроссплатформенная библиотека обработки изображений C ++, которая предоставляет ряд функций, таких как загрузка, обработка, отображение и сохранение. Самое привлекательное, что вся графическая библиотека - это только один файл cimg.h, поэтому она очень портативная, зеленая и экологически чистая. Он может быть скомпилирован и использован везде, где вы не выходите без установки большой зависимости от толка. Поэтому я хотел использовать эту графическую библиотеку CIMG, чтобы сделать простую демонстрацию, начиная с функции реализации кода проверки, и, конечно, я могу полностью использовать эту библиотеку для выполнения других функций, таких как изображения обрезки.
Модуль CCAP основан на инкапсуляции графической библиотеки CIMG, что позволяет использовать его узлом. Из-за портативности графической библиотеки CIMG модуль CCAP может работать независимо, не полагаясь на любую другую стороннюю графическую библиотеку или программное обеспечение. Другими словами, если вы просто хотите генерировать простой код проверки, просто требуется модуль CCAP.
1. Установка:
Общий метод: NPM установить CCAP
Или загрузите его через GitHub, адрес: https://github.com/doublespout/ccap
Примечание: могут быть ошибки во время процесса установки. Пожалуйста, установите соответствующий пакет зависимостей в соответствии с приглашением ошибки.
2. Производительность:
Скорость генерации кодов проверки на 64-битном сервере 2CPU Linux может достигать 1200 раз/с. Изображение, сгенерированное тестом, является BMP. Скорость генерации кода проверки изображения JPEG составляет около 600 раз/сек.
3. Метод объявления:
Кода -копия выглядит следующим образом:
var ccap = require ('ccap');
var captcha1 = ccap ();
var captcha2 = ccap (ширина, высота, смещение);
var captcha3 = ccap ({
Ширина: 256, // Установить ширину, по умолчанию 256
Класс CCAP может быть создан через приведенный выше код. 1. Параметры не передаются, все параметры по умолчанию используются для генерации кодов проверки. 2. Только пропустите ширину, высоту и смещению, чтобы создать экземпляр, отрегулировать размер изображения, и интервал между символами на рисунке 3. Пропустите объект. В дополнение к ширине, высоте и смещению, он также проходит качество изображения и метод генерации случайных чисел. Модуль CCAP будет использовать строку, возвращаемую пользовательской функцией в качестве содержимого кода проверки изображения. По умолчанию 0-9, а 6-битная строка AZ будет соблюдать.
Теоретически, можно создать много разных экземпляров CCAP, и они не оказывают влияния друг на друга, поэтому даже если вы начинаете многопроцессорные узлы через кластер и одновременно создаете коды проверки, не существует влияния блокировки друг друга.
Качество изображения действителен только для изображений JPEG. Если библиотека LIB JPEG не установлена, вы можете использовать только несжатую графику BMP, которая относительно большая по размеру, но скорость генерации относительно быстрая.
4. Используйте метод, get ():
Кода -копия выглядит следующим образом:
Высота: 60, // Установить высоту, по умолчанию 60
смещение: 40, // установить расстояние между текстами, по умолчанию 40
Качество: 100, // Установить качество картины, по умолчанию 50
Generate: function () {// Custom Функция для генерации текста CAPTCHA
// генерировать текст капчи здесь
вернуть текст; // возвращать текст капхи
}
});
После экземпляра класса CCAP вы получите объект CAPTCHA. Этот объект имеет только один внешний метод, get (). Каждый раз, когда этот метод будет вызван, он возвращает буфер кода проверки и соответствующий содержимое текстовой строки и сохраняет его в массиве, со структурой, аналогичной этой:
Кода -копия выглядит следующим образом:
["Текст капты", "Буфер изображения"]
5. Простой веб -пример:
Кода -копия выглядит следующим образом:
var http = require ('http');
var ccap = require ('ccap') (); // создание класса CCAP
http.createserver (function (запрос, ответ) {
if (request.url == '/favicon.ico') return response.end (' '); // перехватить запрос favicon.ico
var ary = ccap.get ();
var txt = ary [0];
var buf = ary [1];
response.end (buf);
console.log (txt);
}). Слушайте (8124);
console.log ('сервер, работающий по адресу http://127.0.0.1:8124/');
Примечание. Некоторые параметры кода могут быть изменены в соответствии с их собственной средой.