javaͼƬ´¦Àí ÎÄ×Öˮӡ ͼƬˮӡ Ëõ·Å ²¹°×
import java.awt.AlphaComposite;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.geom.AffineTransform;
import java.awt.image.AffineTransformOp;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
/**
* @author Eric Xu
*
*/
public final class ImageUtils {
/**
* ͼƬˮӡ
* @param pressImg ˮӡͼƬ
* @param targetImg Ä¿±êͼƬ
* @param x ÐÞÕýÖµ ĬÈÏÔÚÖмä
* @param y ÐÞÕýÖµ ĬÈÏÔÚÖмä
* @param alpha ͸Ã÷¶È
*/
public final static void pressImage(String pressImg, String targetImg, int x, int y, float alpha) {
try {
File img = new File(targetImg);
Image src = ImageIO.read(img);
int wideth = src.getWidth(null);
int height = src.getHeight(null);
BufferedImage image = new BufferedImage(wideth, height, BufferedImage.TYPE_INT_RGB);
Graphics2D g = image.createGraphics();
g.drawImage(src, 0, 0, wideth, height, null);
//ˮӡÎļþ
Image src_biao = ImageIO.read(new File(pressImg));
int wideth_biao = src_biao.getWidth(null);
int height_biao = src_biao.getHeight(null);
g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_ATOP, alpha));
g.drawImage(src_biao, (wideth - wideth_biao) / 2, (height - height_biao) / 2, wideth_biao, height_biao, null);
//ˮӡÎļþ½áÊø
g.dispose();
ImageIO.write((BufferedImage) image, "jpg", img);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* ÎÄ×Öˮӡ
* @param pressText ˮӡÎÄ×Ö
* @param targetImg Ä¿±êͼƬ
* @param fontName ×ÖÌåÃû³Æ
* @param fontStyle ×ÖÌåÑùʽ
* @param color ×ÖÌåÑÕÉ«
* @param fontSize ×ÖÌå´óС
* @param x ÐÞÕýÖµ
* @param y ÐÞÕýÖµ
* @param alpha ͸Ã÷¶È
*/
public static void pressText(String pressText, String targetImg, String fontName, int fontStyle, Color color, int fontSize, int x, int y, float alpha) {
try {
File img = new File(targetI
Ïà¹ØÎĵµ£º
package chape8;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/**
* µÚ°ËÕ ͨÓóÌÐòÉè¼Æ
* µÚ45Ìõ£º ½«¾Ö²¿±äÁ¿µÄ×÷ÓÃÓò¼õСµ½×îС
* ½«¾Ö²¿±äÁ¿µÄ×÷ÓÃÓò×îС»¯¡£¿ÉÒÔÔöÇ¿´úÂëµÄ¿É¶ÁºÍ¿Éά»¤ÐÔ£¬²¢½µµÍ³ö´íµÄ¿ÉÄÜÐÔ
* Ҫʹ×÷ÓÃÓò×îС£¬×îÓÐÁ ......
package chape8;
import java.math.BigDecimal;
/**
* 8-48
* Èç¹ûÏëÒªÖªµÀ¾«È·µÄ´ð°¸£¬¾ÍÒª±ÜÃâʹÓÃdoubleºÍfloat
¶ÔÓÚ½ðÈÚÐÐÒµÀ´Ëµ£¬¶ÔÊý¾ÝµÄÑÏÕûÐÔÒªÇóÊǺܸߵģ¬²»ÈÝ°ëµãÂí»¢£¬
ÄÇ´ó¼Ò¶¼ÖªµÀÔÙÎÒÃǵÄJavaÓïÑÔÀïÃæÓÐÁ½¸ö¸¡µãÊýÀàÐ͵ıäÁ¿floatºÍdouble£¬
¿ÉÄÜ´ó¼Ò»áÈÏΪËûÃǵľ«¶È¶ÔÓÚ½ðÈÚÐÐÒµÕâÑù¶ÔÊý×Öà ......
ÈçÌ⣡½â¾öµÄ·½·¨ÊÇÔö¼ÓÒ»¸öÐé±³¾°¡£Ö®ºó°ÑÐé±³¾°Ôö¼Óµ½ÔÀ´µÄFrameÉÏ¡£ÓÉÓÚrepaint()µ½paint()ÖмäÉæ¼°µ½update(),ËùÒÔ½â¾öÎÊÌâµÄ
¹Ø¼üÊÇÔÚÖØдupdate(),ÔÚÕâ¸ö·½·¨ÖÐʵÏÖÐé±³¾°µÄÌí¼Ó~~
@Override
public void update(Graphics g)
{
if(offScreenImage == null)
......
¿Î³ÌÃèÊö£º
±¾¿Î³Ì´ÓJavaÓïÑÔ¿ªÊ¼£¬ÉîÈëdz³ö£¬ÑÐò½¥½ø£¬ÀíÂÛÓëʵ¼ùÏà½áºÏ£¬Ã¿¸ö֪ʶµã£¬Ã¿¸ö½×¶Î¶¼ÅäÓÐÓëʵ¼ÊÓ¦ÓýӽüµÄʵսÁ·Ï°£¬×îÖÕÄ¿±êΪϵͳÕÆÎÕÕû¸öJavaÌåϵ£¬Äܹ»ÊìÁ·Ê¹ÓÃ×îÁ÷ÐУ¬×îÈÈÃŵÄJava EEÏà¹Ø¼¼Êõ¼°Æ俪·¢¹¤¾ß¿ª·¢ÆóÒµ¼¶Ó¦Óá£
Ô¤±¸ÖªÊ¶£º
l ......
¹Ø¼ü×Ö: filter
¹ýÂËÆ÷FilterÒ²¾ßÓÐÉúÃüÖÜÆÚ£ºinit()->doFilter()->destroy()£¬Óɲ¿ÊðÎļþÖеÄfilterÔªËØÇý¶¯¡£ÔÚservlet2.4ÖУ¬¹ýÂËÆ÷ͬÑù¿ÉÒÔÓÃÓÚÇëÇó·ÖÅÉÆ÷£¬µ«ÐëÔÚweb.xmlÖÐÉùÃ÷£¬<dispatcher>INCLUDE»òFORWARD»òREQUEST»òERROR</dispatcher>¸ÃÔªËØλÓÚfilter-mappingÖС£
Ò»¡ ......