java jsp 上传图面加水印 生成随机密码

详情见:http://www.mqney.com java jsp 上传图面加水印 生成随机密码

 

 

上传图片带水印
package com.eduinfo.util; 
import java.awt.Color;     
import java.awt.Font;     
import java.awt.Graphics;     
import java.awt.Image;     
import java.awt.image.BufferedImage;     
import java.io.File;     
import java.io.FileOutputStream;     
     
import javax.imageio.ImageIO;     
     
import com.sun.image.codec.jpeg.JPEGCodec;     
import com.sun.image.codec.jpeg.JPEGImageEncoder;     
/**
* 给图片加水印
* @author iis
*/    
public final class MarkPicture {     
     public MarkPicture() {     
     
     } 
     /**   
      * 把图片印刷到图片上   
      *    
      * @param pressImg
      *            水印文件   
      * @param targetImg   
      *            目标文件   
      * @param x   
      * @param y   
      */    
     public final static void pressImage(String pressImg, String targetImg,     
             int x, int y) {     
         try {     
             File _file = new File(targetImg);     
             Image src = ImageIO.read(_file);     
             int wideth = src.getWidth(null);     
             int height = src.getHeight(null);     
             BufferedImage image = new BufferedImage(wideth, height,     
                     BufferedImage.TYPE_INT_RGB);     
             Graphics g = image.createGraphics();     
             g.drawImage(src, 0, 0, wideth, height, null);     
     
             // 水印文件     
             File _filebiao = new File(pressImg);     
             Image src_biao = ImageIO.read(_filebiao);     
             int wideth_biao = src_biao.getWidth(null);     
             int height_biao = src_biao.getHeight(null);     
             g.drawImage(src_biao, wideth - wideth_biao - x, height     
                     - height_biao - y, wideth_biao, height_biao, null);     
             // /     
             g.dispose();     
             FileOutputStream out = new FileOutputStream(targetImg);     
             JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);     
             encoder.encode(image);     
             out.close();     
         } catch (Exception e) {     
             e.printStackTrace();     
         }     
     }     
     
     /**   
      * 打印文字水印图片   
      *    
      * @param pressText   
      *             --文字   
      * @param targetImg 
      *             --目标图片   
      * @param fontName 
      *             --字体名   
      * @param fontStyle 
      *             --字体样式   
      * @param color    
      *             --字体颜色   
      * @param fontSize    
      *             --字体大小   
      * @param x    
      *             --X偏移量   
      * @param y
      *             --Y偏移量   
      */    
     
     public static void pressText(String pressText, String targetImg,     
             String fontName, int fontStyle, int color, int fontSize, int x,     
             int y) {     
         try {     
             File _file = new File(targetImg);     
             Image src = ImageIO.read(_file);     
             int wideth = src.getWidth(null);     
             int height = src.getHeight(null);     
             BufferedImage image = new BufferedImage(wideth, height,     
                     BufferedImage.TYPE_INT_RGB);     
             Graphics g = image.createGraphics();     
             g.drawImage(src, 0, 0, wideth, height, null);     
             // String s="www.qhd.com.cn";     
             g.setColor(Color.RED);     
             g.setFont(new Font(fontName, fontStyle, fontSize));     
     
             g.drawString(pressText,fontSize+x,fontSize     
                      +y);     
             g.dispose();     
             FileOutputStream out = new FileOutputStream(targetImg);     
             JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);     
             encoder.encode(image);     
             out.close();     
         } catch (Exception e) {    
             System.out.println(e);     
         }     
     }     
     
     public static void main(String[] args) {     
         pressImage("d:/1.jpg", "d:/2.jpg", 20, 20);     
         pressText("水印文字", "d:/1.jpg","宋体",1,1,25,10, 10); 
     }     




自动生成随机密码
package com.ecuinfo.users.isonqao;

import java.util.Random;

public class RadomPassword {

 /**
  * 生成随即密码
  * @param pwd_len 生成的密码的总长度
  * @return  密码的字符串
  */
 public static String genRandomNum(int pwd_len){
  //35是因为数组是从0开始的,26个字母+10个数字
  final int  maxNum = 36;
  int i;  //生成的随机数
  int count = 0; //生成的密码的长度
  char[] str = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k',
    'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w',
    'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' };
 
  StringBuffer pwd = new StringBuffer("");
  Random r = new Random();
  while(count < pwd_len){
   //生成随机数,取绝对值,防止生成负数,
  
   i = Math.abs(r.nextInt(maxNum));  //生成的数最大为36-1
  
   if (i >= 0 && i < str.length) {
    pwd.append(str[i]);
    count ++;
   }
  }
 
  return pwd.toString();
 }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值