Muitos lugares onde os códigos de verificação são necessários ao usar o nó para o desenvolvimento da Web são encontrados. Anteriormente, pesquisado no GitHub, havia algumas bibliotecas de classes, como o Node-Captcha, que dependem de bibliotecas de processamento de gráficos de terceiros ou software. Por exemplo, quando instalei o gráfico da Biblioteca Cario, foi muito esforço, mas na verdade usamos apenas um pouco das pequenas funções dessas bibliotecas gráficas, como modificar e cortar o tamanho da imagem ou produzir códigos de verificação.
Vamos primeiro apresentar a biblioteca gráfica CIMG C ++. O CIMG é uma biblioteca de processamento de imagem C ++ de plataforma cruzada que fornece uma série de funções como carregamento, processamento, exibição e salvamento. O mais atraente é que toda a biblioteca gráfica é apenas um arquivo cimg.h, por isso é muito portátil, verde e ecológico. Ele pode ser compilado e usado em qualquer lugar que você vá sem instalar uma grande dependência de pressão. Então, eu queria usar esta biblioteca de gráficos CIMG para fazer uma demonstração simples, começando com a função de implementar o código de verificação e, é claro, posso usar completamente essa biblioteca para fazer outras funções, como o corte de imagens.
O módulo CCAP é baseado no encapsulamento da biblioteca gráfica CIMG, permitindo que ele seja usado pelo nó. Devido à portabilidade da biblioteca de gráficos CIMG, o módulo CCAP pode funcionar de forma independente, sem depender de nenhuma outra biblioteca ou software de gráficos de terceiros. Em outras palavras, se você deseja apenas gerar um código de verificação simples, basta exigir o módulo CCAP.
1. Instalação:
Método Geral: NPM Instale CCAP
Ou faça o download do Github, endereço: https://github.com/doublespout/ccap
Nota: Pode haver erros durante o processo de instalação. Instale o pacote de dependência correspondente de acordo com o prompt de erro.
2. Desempenho:
A velocidade de geração de códigos de verificação em um servidor Linux de 2cpu de 64 bits pode atingir 1200 vezes/s. A imagem gerada pelo teste é BMP. A velocidade de geração do código de verificação da imagem JPEG é cerca de 600 vezes/s.
3. Método da declaração:
A cópia do código é a seguinte:
var ccap = requer ('ccap');
var captcha1 = ccap ();
var captcha2 = ccap (largura, altura, deslocamento);
var captcha3 = ccap ({
Largura: 256, // Defina a largura, o padrão é 256
Uma classe CCAP pode ser instanciada através do código acima. 1. Não são passados parâmetros, todos os parâmetros padrão são usados para gerar códigos de verificação. 2. Passe apenas a largura, a altura e o deslocamento para instanciar, ajustar o tamanho da imagem e o intervalo entre os caracteres na figura 3. Passe um objeto. Além da largura, altura e deslocamento, ele também passa a qualidade da imagem e o método de geração de números aleatórios. O módulo CCAP usará a string retornada pela função personalizada como o conteúdo do código de verificação de imagem. O padrão é 0-9 e a sequência de 6 bits de AZ será seguida.
Em teoria, muitas instâncias diferentes do CCAP podem ser produzidas e elas não têm influência umas sobre as outras; portanto, mesmo se você iniciar os nós de vários processos através do cluster e produzir códigos de verificação ao mesmo tempo, não há impacto de travar um ao outro.
A qualidade da imagem é válida apenas para imagens JPEG. Se nenhuma biblioteca JPEG LIB estiver instalada, você só poderá usar gráficos não compactados BMP, o que é relativamente grande em tamanho, mas a velocidade de geração é relativamente rápida.
4. Método de uso, get ():
A cópia do código é a seguinte:
Altura: 60, // Definir altura, o padrão é 60
Offset: 40, // Defina o espaçamento de texto, o padrão é 40
Qualidade: 100, // Defina a qualidade da foto, o padrão é 50
Gereate: function () {// personalizado a função para gerar texto CAPTCHA
// gerar texto CAPTCHA aqui
Retornar texto; // retornar o texto CAPTCHA
}
});
Depois de instantar a classe CCAP, você receberá o objeto Captcha. Este objeto possui apenas um método externo, get (). Cada vez que esse método é chamado, ele retornará o buffer de código de verificação e o conteúdo da sequência de texto correspondente e o salvará em uma matriz, com uma estrutura semelhante a esta:
A cópia do código é a seguinte:
["Texto Captcha", "Buffer de imagem"]
5. Um exemplo simples da web:
A cópia do código é a seguinte:
var http = requer ('http');
var ccap = requer ('ccap') (); // classe CCAP instanciada
http.createServer (função (solicitação, resposta) {
if (request.url == '/favicon.ico')return Response.end (' '); // Solicitação de interceptação favicon.ico
vary = ccap.get ();
var txt = ary [0];
var buf = ary [1];
resposta.END (BUF);
console.log (txt);
}). Ouça (8124);
console.log ('servidor em execução em http://127.0.0.1:8124/');
Nota: Alguns parâmetros de código podem ser modificados de acordo com seu próprio ambiente.