首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

给下传图片加个图片水印,文字水印的功能

2012-11-04 
给上传图片加个图片水印,文字水印的功能? 给上传图片加个图片水印,文字水印的功能今天客户说,他想把他上传

给上传图片加个图片水印,文字水印的功能
给下传图片加个图片水印,文字水印的功能? 给上传图片加个图片水印,文字水印的功能

今天客户说,他想把他上传的图片加上个水印的功能,以防止别人盗用他的图片。他认为他的图片资料很重要。所以。。。
好,客户有需求,我们就满足他,以前我也比较少写操作图片的api,所以对图片加水印的功能也一直没接触,不过对于现在网络来说。这些根本就不算什么,上网一搜,就找了几个程序出来,现在我重构了下,使它满足我的要求,现在发布出来,希望可以给有需要的朋友一点帮助。
import java.awt.Color;import java.awt.Graphics2D;import java.awt.image.BufferedImage;public class TwoGif {public static void main(String[] args) {String mainGif = args[0];String secondGif = args[1];int xPosition = Integer.valueOf(args[2]);int yPosition = Integer.valueOf(args[3]);String outputGif = args[4];GifDecoder mainDecoder = new GifDecoder();mainDecoder.read(mainGif);BufferedImage mainFrame = mainDecoder.getFrame(0);GifDecoder secondDecoder = new GifDecoder();secondDecoder.read(secondGif);BufferedImage secondFrame = secondDecoder.getFrame(0);int flag = secondFrame.getRGB(1, 1);int alpha=new Color(255,0,0,0).getRGB();AnimatedGifEncoder e = new AnimatedGifEncoder();e.start(outputGif);for (int i = 0; i < secondFrame.getWidth(); i++) {for (int j = 0; j < secondFrame.getHeight(); j++) {if (secondFrame.getRGB(i, j) == flag) {secondFrame.setRGB(i, j, alpha);}}}Graphics2D g = mainFrame.createGraphics();g.drawImage(secondFrame, null, xPosition, yPosition);g.dispose();e.addFrame(mainFrame);e.finish();}} 3 楼 sorphi 2007-05-16   试试启动jvm时加上 -Djava.awt.headless=true 4 楼 wuhua 2007-05-16   sorphi 写道试试启动jvm时加上 -Djava.awt.headless=true
找到解决的办法了
1.System.setProperty("java.awt.headless", "true");
2.启动tomcat加上 startup.sh -Djava.awt.headless=true 5 楼 jiangyh52 2007-05-16   wuhua 写道sorphi 写道试试启动jvm时加上 -Djava.awt.headless=true
找到解决的办法了
1.System.setProperty("java.awt.headless", "true");
2.启动tomcat加上 startup.sh -Djava.awt.headless=true 6 楼 spiritfrog 2007-05-25   <br/>
<strong>wuhua 写道:</strong><br/>
<div class='quote_div'><a href='http://blog.csdn.net/gooogledev/archive/2007/05/16/1611254.aspx'><img src='http://blog.csdn.net/images/authorship.gif' border='0' height='13' alt='' width='15'/>? 给上传图片加个图片水印,文字水印的功能</a><br/>
<br/>
今天客户说,他想把他上传的图片加上个水印的功能,以防止别人盗用他的图片。他认为他的图片资料很重要。所以。。。<br/>
好,客户有需求,我们就满足他,以前我也比较少写操作图片的api,所以对图片加水印的功能也一直没接触,不过对于现在网络来说。这些根本就不算什么,上网一搜,就找了几个程序出来,现在我重构了下,使它满足我的要求,现在发布出来,希望可以给有需要的朋友一点帮助。<br/>
<div class='code_title'>java 代码</div>
<div class='dp-highlighter'>
<div class='bar'/>
<ol class='dp-j'>
    <li class='alt'><span><span class='comment'>/**</span> </span></li>
    <li class='alt'><span><span class='comment'>* 打印文字水印图片</span> </span></li>
    <li class=''><span><span class='comment'>* @param pressText --文字</span> </span></li>
    <li class='alt'><span><span class='comment'>* @param targetImg -- 目标图片</span> </span></li>
    <li class=''><span><span class='comment'>* @param fontName -- 字体名</span> </span></li>
    <li class='alt'><span><span class='comment'>* @param fontStyle -- 字体样式</span> </span></li>
    <li class=''><span><span class='comment'>* @param color -- 字体颜色</span> </span></li>
    <li class='alt'><span><span class='comment'>* @param fontSize -- 字体大小</span> </span></li>
    <li class=''><span><span class='comment'>* @param x -- 偏移量</span> </span></li>
    <li class='alt'><span><span class='comment'>* @param y</span> </span></li>
    <li class=''><span><span class='comment'>*/</span><span> </span></span></li>
    <li class='alt'><span/></li>
    <li class=''><span><span class='keyword'>public</span><span> </span><span class='keyword'>static</span><span> </span><span class='keyword'>void</span><span> pressText(String pressText, String targetImg, String fontName,</span><span class='keyword'>int</span><span> fontStyle, </span><span class='keyword'>int</span><span> color, </span><span class='keyword'>int</span><span> fontSize, </span><span class='keyword'>int</span><span> x, </span><span class='keyword'>int</span><span> y) { </span></span></li>
    <li class='alt'><span><span class='keyword'>try</span><span> { </span></span></li>
    <li class=''><span>File _file = <span class='keyword'>new</span><span> File(targetImg); </span></span></li>
    <li class='alt'><span>Image src = ImageIO.read(_file); </span></li>
    <li class=''><span><span class='keyword'>int</span><span> wideth = src.getWidth(</span><span class='keyword'>null</span><span>); </span></span></li>
    <li class='alt'><span><span class='keyword'>int</span><span> height = src.getHeight(</span><span class='keyword'>null</span><span>); </span></span></li>
    <li class=''><span>BufferedImage image = <span class='keyword'>new</span><span> BufferedImage(wideth, height, </span></span></li>
    <li class='alt'><span>BufferedImage.TYPE_INT_RGB); </span></li>
    <li class=''><span>Graphics g = image.createGraphics(); </span></li>
    <li class='alt'><span>g.drawImage(src, <span class='number'>0</span><span>, </span><span class='number'>0</span><span>, wideth, height, </span><span class='keyword'>null</span><span>); </span></span></li>
    <li class=''><span><span class='comment'>// String s="www.qhd.com.cn";</span><span> </span></span></li>
    <li class='alt'><span>g.setColor(Color.RED); </span></li>
    <li class=''><span>g.setFont(<span class='keyword'>new</span><span> Font(fontName, fontStyle, fontSize)); </span></span></li>
    <li class='alt'><span/></li>
    <li class=''><span/></li>
    <li class='alt'><span>g.drawString(pressText, wideth - fontSize - x, height - fontSize/<span class='number'>2</span><span> - y); </span></span></li>
    <li class=''><span>g.dispose(); </span></li>
    <li class='alt'><span>FileOutputStream out = <span class='keyword'>new</span><span> FileOutputStream(targetImg); </span></span></li>
    <li class=''><span>JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out); </span></li>
    <li class='alt'><span>encoder.encode(image); </span></li>
    <li class=''><span>out.close(); </span></li>
    <li class='alt'><span>} <span class='keyword'>catch</span><span> (Exception e) { </span></span></li>
    <li class=''><span>System.out.println(e); </span></li>
    <li class='alt'><span>} </span></li>
    <li class=''><span>} </span></li>
    <li class='alt'><span/></li>
</ol>
<p class=''><span/></p>
</div>
</div>
<br/>
程序我试过了,非web环境下跑没有问题。<br/>
这个方法的color参数没有用上呢?不知道是不是一个失误。<br/>
<br/> 7 楼 wuhua 2007-05-25   web环境也没问题
我只测试了图片的
文字的还没测试

热点排行