Os exemplos deste artigo compartilham com você o código específico para o código de verificação de cartas de geração Java para sua referência. O conteúdo específico é o seguinte
importar java.awt.basicstoke; importar java.awt.color; importar java.awt.font; importar java.awt.graphics2d; importar java.awt.image.bufferedImage; import java.io.ioexception; importação java.io.OutraTream; Verifique o código {// largura de imagem e altura privado int w = 70; private int h = 35; privado aleatório r = novo aleatório (); Private String [] FontNames = {"Song Font", "Chinese Kai Font", "Bold Font", "Microsoft Elegant Black", "Kai Font_GB2312"}; private string codes = "234567890qwertyuipasdfghjkzxcvbnmqwertyuipasdfghjkzxcvbnm"; color privado bgcolor = nova cor (255.255.255); texto privado de string; // gerar cores aleatórias color privado aleatorycolor () {int vermelho = r.nextint (150); int verde = r.nextint (150); int azul = r.nextint (150); devolver nova cor (vermelha, verde, azul); } // gerar font aleatório Private Font RandomFont () {int index = r.NextInt (fontnames.length); String fontName = fontNames [index]; Int Style = R.NextInt (4); // 0 Nenhum 1 negrito 2 itálico 3 negrito + oblíquo int size = r.nextint (5) +24; // gerar tamanho de fonte aleatória 24 ~ 28 Retornar nova fonte (fontname, estilo, tamanho); } // Linha de interferência Linha de draws privado (imagem bufferImage) {// gera 4 linhas de interferência int num = 4; Graphics2d bi = (graphics2d) image.getgraphics (); for (int i = 0; i <num; i ++) {int x1 = r.nextint (w); int x2 = r.nextint (w); int y1 = r.nextint (h); int y2 = r.nextint (h); Bi.SetStroke (novo BasicStroke (1.5F)); bi.setColor (color.blue); // linha de interferência cor bi.drawline (x1, y1, x2, y2); }} // geração aleatória de um caractere privado char randomchar () {int index = r.nextint (codes.length ()); Return Codes.Charat (Index); } // buffer de imagem Private BufferImage CreateImage () {bufferedImage imagem = new bufferImage (w, h, bufferiMage.type_int_bgr); Graphics2d bi = (graphics2d) image.getgraphics (); bi.setColor (this.bgcolor); bi.fillrect (0, 0, w, h); imagem de retorno; } // gerar imagem public bufferImage getImage () {bufferiMage imagem = createImage (); Graphics2d bi = (graphics2d) image.getgraphics (); Stringbuilder sb = new stringbuilder (); for (int i = 0; i <4; i ++) {string string = aleatorychar ()+""; sb.append (string); // Cada caractere é responsável por 1/4 de largura da imagem Float x = i*1.0f*w/4; // formato de font aleatório bi.setFont (RandomFont ()); bi.setColor (RandomColor ()); // Escreva os caracteres no local apropriado da imagem (H-6 significa que a imagem é de 6 alturas de baixo) Bi.DrawString (String, X, H-6); } this.text = sb.toString (); drawline (imagem); imagem de retorno; } // retorna a fonte obtida public string getText () {return text; } // Escreva a imagem para o local especificado, public static void Output (imagem bufferedimage, outputStream out) {try {imageio.write (imagem, "jpg", out); } catch (ioexception e) {e.printStackTrace (); }}}O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.