java实现方便、快捷的图片编辑

这篇博客介绍如何使用Java实现对远程图片的下载、处理和缩略图的生成,包括图片水印的添加。文章提供了关键代码示例,涉及HTTP连接、文件操作和图像处理,适用于手机用户预览。
摘要由CSDN通过智能技术生成

在现在的开发中,图片的表现形式也是越来越多,随之而来的是图片的版权的问题,所以,不少的网站将自己的图片在上传的时候,打上专有的水印(如左图)。而作为图片的预览,需要有对应的适合大小的缩略图。以前在写一个blog的时候,用到了一个很好用的包,是一个外国人写的。
    首先,下载ij.jar(本站提供下载,将ij.jar.rar改为ij.jar即可),同时,我将两个重要的操作类的源码提取出来了,方便大家参考。
    我的这个文件的作用是从我的pc论坛上将图片取下来,然后修改成对应的小图片,提供給手机用户浏览(wap)。要做成什么效果,打什么水印,什么大小,在代码做对应的配置即可,也可以把这些抽取出来,形成一个properties文件。

 

  1. **  
  2.  * @author   
  3.  * @company   leemenz (C) copyright  
  4.  * @time      2006-8-23  15:18:01  
  5.  * @version   1.0.0.0  
  6.  * @package   com.xxx.tools  
  7.  */  
  8.   
  9. package com.xxx.imageDeal;   
  10.   
  11. import ij.ImagePlus;   
  12. import ij.io.Opener;   
  13. import ij.process.ImageProcessor;   
  14.   
  15. import java.awt.Font;   
  16. import java.awt.Graphics;   
  17. import java.awt.image.BufferedImage;   
  18. import java.io.DataInputStream;   
  19. import java.io.File;   
  20. import java.io.FileInputStream;   
  21. import java.io.FileOutputStream;   
  22. import java.io.IOException;   
  23. import java.net.HttpURLConnection;   
  24.   
  25.     
  26. import java.net.InetAddress;   
  27. import java.net.MalformedURLException;   
  28. import java.net.URL;   
  29. import com.sun.image.codec.jpeg.JPEGCodec;   
  30. import com.sun.image.codec.jpeg.JPEGEncodeParam;   
  31. import com.sun.image.codec.jpeg.JPEGImageEncoder;   
  32. import com.xxx.database.SqlHelper;   
  33. import com.xxx.util.Constants;   
  34. import com.xxx.util.Tools;   
  35.   
  36.   
  37. public class ImageTool {   
  38.   /**  
  39.    * 对远程图片的处理(下载到本地,缩小操作等)  
  40.    *   
  41.    * @author 李国庆  
  42.    * @param urlpic  
  43.    *            图片的URL地址 列如:http://ggbm.programfan.com/images/11145416530.gif  
  44.    * @param rootid  
  45.    *            论坛主贴ID  
  46.    */  
  47.   public static void getPic(String urlpic, String rootid) {   
  48.   
  49.     // //在图片关系表中确定原始URL与自己网站上URL的对应关系,关系存在则从WAP_HSOL_RELATION表//   
  50.     // //中读图片信息,关系不存在则继续执行图片下载和缩小操作   
  51.     if (getRelation(urlpic) || judgeUrl(urlpic)) {   
  52.       return;   
  53.     }   
  54.     // //   
  55.   
  56.     String first = urlpic.substring(7);   
  57.     int end = first.indexOf("/");   
  58.     String urlp = first.substring(end + 1);   
  59.   
  60.     int index = urlp.lastIndexOf("/");   
  61.     String smallFileName = "/picpath/" + urlp.substring(0, index + 1)   
  62.         + "small" + urlp.substring(index + 1); // 得到下载到本地的图片的URL   
  63.   
  64.     // 图片的远程读入//   
  65.     HttpURLConnection urlCon = null;   
  66.     URL url = null;   
  67.     DataInputStream ir = null;   
  68.   
  69.     String[] pp = anlizeUrl(urlpic);   
  70.     StringBuffer middle = new StringBuffer();   
  71.     for (int i = 0; i < pp.length - 1; i++) {   
  72.       middle.append(pp[i] + File.separatorChar);   
  73.     }   
  74.   
  75.     Tools manage = new Tools();   
  76.     manage.createPath(Constants.OUTPUT_PICTURE_PATH + File.separatorChar   
  77.         + middle.toString());   
  78.   
  79.     int last = urlpic.lastIndexOf("/");   
  80.     String str = urlpic.substring(last + 1);   
  81.     String newName = Constants.OUTPUT_PICTURE_PATH + File.separatorChar   
  82.         + middle.toString() + str;   
  83.   
  84.     File newFile = new
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值