src/com/classnet/util/ImageBuilder.java

(开头部分) 3KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

package com.classnet.util;

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Random;

import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGEncodeParam;
import com.sun.image.codec.jpeg.JPEGImageEncoder;

public class ImageBuilder implements Image {

	private String input;
	private int WIDTH;
	private int HEIGHT;
	private BufferedImage image;
	private Graphics g;
	
	public ImageBuilder(String input) {
		WIDTH = 60;  //250
		HEIGHT = 20;  //60
		this.input = input;
		init();
		draw();
	}
	
	void init() {
		image = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_RGB);
		// 获取图形上下文
		g = image.getGraphics();
	}
	Color getRandColor(int fc,int bc){//给定范围获得随机颜色
        Random random = new Random();
        if(fc>255) fc=255;
        if(bc>255) bc=255;
        int r=fc+random.nextInt(bc-fc);
        int g=fc+random.nextInt(bc-fc);
        int b=fc+random.nextInt(bc-fc);
        return new Color(r,g,b);
    }
	void draw() {
	    // 设定背景色
	    g.setColor(getRandColor(200,250));
	    g.fillRect(0, 0, WIDTH, HEIGHT);
	    //设定字体
	    g.setFont(new Font("Times New Roman",Font.PLAIN,18));
	    //画边框
	    //g.setColor(new Color());
	    //g.drawRect(0,0,width-1,height-1);
	    // 随机产生155条干扰线,使图象中的认证码不易被其它程序探测到
	    g.setColor(getRandColor(160,200));
	    //生成随机类
	    Random random = new Random();
	    for (int i=0;i<155;i++){
后面还有 50 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。