JAvaアップロード画像に透かしを打つ

1939 ワード

実际には、既存の画像には、直接画像を贴ることができます
        //    

	@Override

	public File pressFile(File file,String press_path) throws IOException {

		// TODO Auto-generated method stub

		File newFile=null;

                String pressText="TOGO";

		String path=file.getPath();

		String oldFileName=file.getName();

		//    

		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);

		Graphics2D g = image.createGraphics();

		g.drawImage(src, 0, 0, wideth, height, null);

		

		//    

		File pressFile=new File(press_path+"/images/LOGO.png");

		Image press_img=ImageIO.read(pressFile);

		int press_wideth=press_img.getWidth(null);

		int press_height=press_img.getHeight(null);

		//      

		g.drawImage(press_img,wideth-press_wideth,height-press_height,press_wideth,press_height,null);	

		g.drawImage(press_img,(wideth-press_wideth)/2,(height-press_height)/2,press_wideth,press_height,null);

		g.drawImage(press_img,10,10,press_wideth,press_height,null);

		//      

                g.setColor(Color.RED);

                g.setFont(new Font(fontName, fontStyle, fontSize));

                g.drawString(pressText, 10, 10);

                //    

                g.dispose();

                //      

                FileOutputStream out = new FileOutputStream(path);

		file.delete();

		JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);		

//		JPEGEncodeParam param=encoder.getDefaultJPEGEncodeParam(image);   //    

//		param.setQuality(1, true);

		encoder.encode(image);

		out.close(); 



		return newFile;

	}