⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 defaultbackgroundimp.java

📁 基于Java平台的、功能强大的验证码图片生成工具
💻 JAVA
字号:
/*
 * Created on Sep 10, 2005
 *
 * To change the template for this generated file go to
 * Window>Preferences>Java>Code Generation>Code and Comments
 */
package nl.captcha.obscurity;

import java.awt.Color;
import java.awt.GradientPaint;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.geom.Rectangle2D;
import java.awt.image.BufferedImage;
import java.lang.reflect.Field;
import java.util.Properties;
import java.util.StringTokenizer;

import nl.captcha.util.Helper;

/**
 * @author Administrator
 *
 * To change the template for this generated type comment go to
 * Window>Preferences>Java>Code Generation>Code and Comments
 */
public class DefaultBackgroundImp implements BackgroundProducer {
	
	private Properties props = null;
	
	public void setProperties(Properties props) {
		this.props = props;
	}
	
	public DefaultBackgroundImp(){
	}
	
	public DefaultBackgroundImp(Properties props){
		this.props = props;
	}

	public  BufferedImage addBackground(BufferedImage image){
		int width = image.getWidth();
		int height = image.getHeight();
		
		Color from = Helper.getColor(props, BackgroundProducer.SIMPLE_CAPCHA_BCKGRND_CLR_FRM,Color.lightGray);
		Color to = Helper.getColor(props, BackgroundProducer.SIMPLE_CAPCHA_BCKGRND_CLR_T, Color.white);
		
		        
		//create an opac image
		BufferedImage resultImage = 
			new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
            
		Graphics2D graph = (Graphics2D)resultImage.getGraphics();
		RenderingHints hints = new RenderingHints(
			RenderingHints.KEY_ANTIALIASING,
			RenderingHints.VALUE_ANTIALIAS_OFF);
			
		hints.add(new RenderingHints(RenderingHints.KEY_COLOR_RENDERING, RenderingHints.VALUE_COLOR_RENDER_QUALITY));
		hints.add(new RenderingHints(RenderingHints.KEY_ALPHA_INTERPOLATION, RenderingHints.VALUE_ALPHA_INTERPOLATION_QUALITY));
		
		hints.add(new RenderingHints(RenderingHints.KEY_RENDERING,		RenderingHints.VALUE_RENDER_QUALITY));
		
		graph.setRenderingHints(hints);
        
		//create the gradient color
		GradientPaint ytow = new GradientPaint(0, 0, from, 
			width, height, to);
			
		
            
		graph.setPaint(ytow);
		//draw gradient color
		graph.fill(new Rectangle2D.Double(0, 0, width, height));
        
		//draw the transparent image over the background
		graph.drawImage(image, 0, 0, null);        
        
		return resultImage;
	}
	
	

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -