`

java给图片加水印,文字水印

    博客分类:
  • JAVA
阅读更多

RSS上看到的,收藏了。

原文链接:http://blog.csdn.net/gooogledev/archive/2007/05/16/1611254.aspx


public
  final   class  ImageUtils  ... {
    
public  ImageUtils()  ... {

    }

    
    
public   final   static  String getPressImgPath() ... {
        
return  ApplicationContext.getRealPath( " /template/data/util/shuiyin.gif " );
    }


 
/** */ /**
  * 把图片印刷到图片上
  * 
@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 -- 偏移量
     * 
@param  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, wideth 
-  fontSize  -  x, height  -  fontSize / 2   -  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(
" C:/shuiyin/shuiyin.gif " " c:/shuiyin/DSC02342.JPG " 20  , 20 );
    }

}

分享到:
评论
4 楼 qiaolevip 2011-03-21  
ApplicationContext怎么不可以啊?
3 楼 qiaolevip 2011-03-21  
我试试看,好用吧1!!!!!!!!!!!!!!
2 楼 helloJ 2010-01-15  
不错,藏了先
1 楼 ouspec 2007-05-18  
JavaEye也有这篇。

相关推荐

    java给图片添加水印

    3. **添加图片水印**:与添加文字水印类似,但需要加载水印图片,调整其大小和位置,再进行合并。 ```java public static BufferedImage addImageWatermark(String srcPath, String watermarkImagePath, String ...

    JAVA实现给图片增加图片水印或者文字水印-依赖包

    在Java编程中,给图片添加水印是一项常见的需求,无论是为了版权保护还是...但以上代码已经足够作为基础,帮助你开始在Java中实现图片加水印的功能。记得在运行此代码前,确保已经正确引入了Apache Commons Imaging库。

    JAVA处理图片 加文字水印以及灰色透明背景

    JAVA处理图片 加文字水印以及灰色透明背景,处理图片。

    Java给图片加水印

    "Java给图片加水印"这个主题,就是关于如何利用Java技术在图片上添加标识或文字,以保护版权或者增强视觉效果。下面我们将深入探讨这个话题。 首先,我们需要了解Java中的图像处理库,如Java Advanced Imaging (JAI...

    java 图片缩放、加水印

    图片操作类源代码,该类主要用于给图片进行缩放、加水印和得到图片的高、宽及类型。 具体操作请自己参照方法说明自己测试改写。

    java 程序图片加水印

    java 程序图片加水印 加文字 任何图片都可以java 程序图片加水印 加文字 任何图片都可以java 程序图片加水印 加文字 任何图片都可以java 程序图片加水印 加文字 任何图片都可以

    Java为图片添加水印功能.rar

    Java为图片添加水印功能,这个水印类的操作比较实用,不但可以旋转水印图像,还可设置其水印图片的透明度,使其与原图融为一体,给图片添加水印,可以设置图片水印的角度,设置对线段的锯齿状边缘处理,第一参数->...

    java 图片水印 改变图片大小

    在Java编程领域,图片处理是一项常见的任务,包括添加水印、改变图片大小等。这里我们将深入探讨这些知识点,以及如何在Struts2框架下实现它们。 首先,让我们了解"图片水印"。水印通常用于保护版权或者为图片增加...

    java图片加水印工具类

    这个“java图片加水印工具类”正是为了简化这一过程而设计的,它允许开发者通过调用预定义的方法,快速地在图片上添加文字或图形水印,无需每次都手动编写相同的功能代码。 首先,我们需要了解什么是水印。水印通常...

    java实现图片加水印.txt

    ### Java 实现图片加水印知识点详解 #### 一、背景与概述 在现代网络环境中,图片加水印是一项常用的技术手段,它主要用于版权保护、品牌宣传等方面。通过本篇文章,我们将详细介绍如何利用Java编程语言实现给图片...

    java实现图片上传并添加水印效果(文字水印,蒙版,logo图片),自动进行文字大小行数位置匹配 ,文字自动换行

    10. **安全考虑**:在接收用户上传的文件时,应验证文件类型和大小,防止恶意文件上传,同时对生成的水印图片进行权限控制,避免非法访问。 通过以上这些知识点的结合运用,我们可以构建一个功能完善的Java应用,...

    java 水印(水印适应图片大小,但个别图片太小不支持)

    - **文字水印的字体大小动态调整**:根据图片宽度调整文字水印的字体大小,保持合适的比例。 - **避免覆盖关键内容**:尽量将水印放置在不会遮挡图片重要信息的区域。 通过以上步骤和策略,我们可以在Java中实现...

    图片批量处理大小,批量加图片水印,文字水印

    解决图片的批量处理大小,批量给图片加图片水印,加文字水印

    java实现对图片加水印

    总结一下,Java 2D API和JAI库都能帮助我们实现图片加水印的功能。选择哪种方式取决于具体需求,如性能、复杂性和可用资源。理解这些概念和步骤,开发者就能根据实际情况编写出自己的Java代码,实现个性化的图片水印...

    java调用ffmpeg 添加水印转换视频

    java调用ffmpeg添加水印并且转换视频,代码中并没有判断哪些格式支持,那些不支持,mpg,mp4,avi,wmv基本都可以(传入格式),转换为flv avi mp4起码都没问题,其它的没事过ffmpeg是开源的支持的挺多的 补充:时间算错了,...

    用Java给图片添加文字或图像水印

    4. **绘制文字水印**:如果水印是文字,我们可以使用`Graphics2D.drawString()`方法在图像的指定位置绘制文字。需要考虑字体、颜色、旋转角度等因素。 5. **绘制图像水印**:如果水印是图像,我们可以使用`Graphics...

    水印 java Graphics2D实现文字图片水印

    // 设置水印文字的渲染属性 g2d.setColor(color); g2d.setFont(font); // 在图像的四个角落添加水印 int textWidth = g2d.getFontMetrics().stringWidth(watermarkText); int textHeight = g2d....

    Java图片加水印,支持旋转和透明度设置

    util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码加以...

    Android 图片加图片logo水印,文字水印

    本文将详细讲解如何在Android中实现图片加图片Logo水印以及文字水印,并探讨它们在不同位置的设置方法。 首先,我们需要理解Android的图像处理基础。Android提供了丰富的图像处理API,包括Bitmap类用于表示位图,...

    java对图片添加水印的工具类

    添加文字水印的工具类,自己去下JAR包,MAVEN的网站http://mvnrepository.com/

Global site tag (gtag.js) - Google Analytics