欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年图片加水印归类 .pdf

    • 资源ID:34280559       资源大小:137.52KB        全文页数:10页
    • 资源格式: PDF        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2022年图片加水印归类 .pdf

    Lily200825 图片加水印( java版)一、功能说明1. 将水印图片叠加到原图上2. 可设置水印图片透明度(默认为 1 不透明 ) 3. 可设置水印图片相对于原图的左边距和上边距(默认为 0) 4. 可设置水印图片的宽高(默认为原始尺寸) 5. 注意事项. 图片输出到本地. 为防止内存溢出,请增大jvm 内存 (推荐-Xmx1024m) . 可处理 20M 左右 (10000 10000)超高清图片名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 10 页 - - - - - - - - - Lily200825 二、代码1. 原代码import java.awt.AlphaComposite; import java.awt.Graphics2D; import java.awt.Image; import java.awt.image.BufferedImage; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import javax.imageio.stream.ImageInputStream; import com.sun.image.codec.jpeg.JPEGCodec; import com.sun.image.codec.jpeg.JPEGImageEncoder; /* * 图片加水印* 图片输出到本地. * 为防止内存溢出,请增大jvm 内存 (推荐-Xmx1024m). * 可处理 20M 左右大图片 . * * author lily200825 * date 2011-6-1 */ public class ImageWatermarkUtil / 输出打印日志public static boolean IS_DEBUG = true; /* * 图片加水印* * param srcImg * 原图片路径* param watermarkImg * 水印图片路径* param destImg * 输出图片路径名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 10 页 - - - - - - - - - Lily200825 * param alpha * 水印图透明度* param left * 水印图相对原图左边距(默认值为0) * param top * 水印图相对原图上边距(默认值为0) * param width * 水印图输出宽 (默认值为 水印图宽 ) * param height * 水印图输出高 (默认值为 水印图高 ) * return * throws IOException */ public static boolean watermarkImage(String srcImg, String watermarkImg, String destImg, Float alpha, Integer left, Integer top, Integer width, Integer height) throws IOException if (destImg = null | destImg.trim().length() = 0) if (IS_DEBUG) System.err.println( 图片加水印:输出图片路径 + destImg + 错误。 。 。); return false; File srcfile = new File(srcImg); if (srcfile = null | srcfile.exists() = false | srcfile.isFile() = false) if (IS_DEBUG) System.err.println( 图片加水印: + srcImg + 文件不存在。 。 。); return false; File watermarkfile = new File(watermarkImg); if (watermarkfile = null | watermarkfile.exists() = false | watermarkfile.isFile() = false) if (IS_DEBUG) System.err.println( 图片加水印: + watermarkImg + 文件不存在。 。); return false; return watermarkImage(javax.imageio.ImageIO.read(srcfile), javax.imageio.ImageIO.read(watermarkfile), destImg, alpha, left, top, width, height); /* 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 10 页 - - - - - - - - - Lily200825 * 图片加水印* * param srcInput * 原图输入流* param watermarkInput * 水印图输入流* param destImg * 输出图片路径* param alpha * 水印图透明度* param left * 水印图相对原图左边距(默认值为0) * param top * 水印图相对原图上边距(默认值为0) * param width * 水印图输出宽 (默认值为 水印图宽 ) * param height * 水印图输出高 (默认值为 水印图高 ) * return * throws IOException */ public static boolean watermarkImage(InputStream srcInput, InputStream watermarkInput, String destImg, Float alpha, Integer left, Integer top, Integer width, Integer height) throws IOException if (destImg = null | destImg.trim().length() = 0) if (IS_DEBUG) System.err.println( 图片加水印:输出图片路径 + destImg + 错误。 。 。); return false; if (srcInput = null) if (IS_DEBUG) System.err.println( 图片加水印:源图输入流为空。 。); return false; if (watermarkInput = null) if (IS_DEBUG) System.err.println( 图片加水印:水印图输入流为空。 。); return false; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 10 页 - - - - - - - - - Lily200825 return watermarkImage(javax.imageio.ImageIO.read(srcInput), javax.imageio.ImageIO.read(watermarkInput), destImg, alpha, left, top, width, height); /* * 图片加水印* * param srcInput * 原图输入流* param watermarkInput * 水印图输入流* param destImg * 输出图片路径* param alpha * 水印图透明度* param left * 水印图相对原图左边距(默认值为0) * param top * 水印图相对原图上边距(默认值为0) * param width * 水印图输出宽 (默认值为 水印图宽 ) * param height * 水印图输出高 (默认值为 水印图高 ) * return * throws IOException */ public static boolean watermarkImage(ImageInputStream srcInput, ImageInputStream watermarkInput, String destImg, Float alpha, Integer left, Integer top, Integer width, Integer height) throws IOException if (destImg = null | destImg.trim().length() = 0) if (IS_DEBUG) System.err.println( 图片加水印:输出图片路径 + destImg + 错误。 。 。); return false; if (srcInput = null) if (IS_DEBUG) System.err.println( 图片加水印:源图输入流为空。 。); return false; if (watermarkInput = null) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 10 页 - - - - - - - - - Lily200825 if (IS_DEBUG) System.err.println( 图片加水印:水印图输入流为空。 。); return false; return watermarkImage(javax.imageio.ImageIO.read(srcInput), javax.imageio.ImageIO.read(watermarkInput), destImg, alpha, left, top, width, height); public static boolean watermarkImage(Image srcImage, Image watermarkImage, String destImg, Float alpha, Integer left, Integer top, Integer width, Integer height) throws IOException if (destImg = null | destImg.trim().length() = 0) if (IS_DEBUG) System.err.println( 图片加水印:输出图片路径 + destImg + 错误。 。 。); return false; if (srcImage = null) if (IS_DEBUG) System.err.println( 图片加水印:源图不是有效的图片。 。); return false; if (watermarkImage = null) if (IS_DEBUG) System.err.println( 图片加水印:水印图不是有效的图片。 。); return false; int src_w = srcImage.getWidth(null); / 源图宽int src_h = srcImage.getHeight(null);/ 源图高int wmk_w = watermarkImage.getWidth(null); int wmk_h = watermarkImage.getHeight(null); alpha = alpha = null ? 1F : alpha;/ 透明度left = left = null ? 0 : left;/ 水印左边距top = top = null ? 0 : top;/ 水印上边距width = width = null ? (wmk_w+left src_w ? src_w-left : wmk_w) : (width+left src_w ? src_w - left : width); height = height = null ? (wmk_h+top src_h ? src_h-top : wmk_h) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 10 页 - - - - - - - - - Lily200825 : (height+top src_h ? src_h - top : height); StringBuffer sb = null; boolean params_error = false; if (IS_DEBUG) sb = new StringBuffer( 图片加水印: ); if (alpha 1F) if (IS_DEBUG) sb.append( 透明度超出有效范围(01)! ); params_error = true; if (left = src_w) if (IS_DEBUG) sb.append( 左边距超出原图有效宽度!); params_error = true; if (top = src_h) if (IS_DEBUG) sb.append( 上边距超出原图有效高度!); params_error = true; if (width = 0) if (IS_DEBUG) sb.append( 水印图宽度不能小于或等于0 ! ); params_error = true; if (height = 0) if (IS_DEBUG) sb.append( 水印图高度不能小于或等于0 ! ); params_error = true; if (params_error) if (IS_DEBUG) System.err.println(sb.toString(); return false; / 合成原图 +水印图名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 10 页 - - - - - - - - - Lily200825 BufferedImage image = new BufferedImage(src_w, src_h, BufferedImage.TYPE_INT_RGB); Graphics2D g = image.createGraphics(); g.drawImage(srcImage, 0, 0, src_w, src_h, null); g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_ATOP,alpha); g.drawImage(watermarkImage, left, top, width, height, null); g.dispose(); / 输出为图片FileOutputStream out = new FileOutputStream(destImg); JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out); encoder.encode(image); out.close(); if (IS_DEBUG) System.out.println( 图片加水印:原图片宽高为 + src_w + + src_h + ,水印图片的宽高为 + wmk_w + + wmk_h + ,水印图片输出起点为 + left + , + top + ,水印图片输出宽高为 + width + + height + ,水印图片输出透明度为 + alpha + ,输出图片的宽高为 + src_w + + src_h +.) ; return true; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 10 页 - - - - - - - - - Lily200825 2. 测试代码import java.io.File; import javax.imageio.ImageIO; import com.lili.util.image.ImageCutUtil; import com.lili.util.image.ImageWatermarkUtil; import com.lili.util.image.ImageZoomUtil; public class TestImage private String dir = K:/workspace/ 测试目录 /images/; private String big_img = dir + 黄沙滨海 .jpg; private String small_img = dir + 传闻中的七公主-崔贞元 .bmp; private String _WATERMARK_ =_ 水印 _; /# 图片加水印# / Test public void testImageWatermarkUtil() String srcImg = dir + _ 等比 _固定宽高 _黄沙滨海 .jpg; String watermarkImg = small_img; Integer left = null; Integer top = null; Integer width = null ; Integer height = null; Float alpha = 0.6F; File f = new File(srcImg); int lastIndex = f.getAbsolutePath().lastIndexOf(File.separator); / 父目录String path = f.getAbsolutePath().substring(0 , lastIndex+1); try long start = System.currentTimeMillis(); ImageWatermarkUtil.watermarkImage( ImageIO.read(new File(srcImg) ,ImageIO.read(new File(watermarkImg) , path+ _WATERMARK_ + f.getName() , alpha , left, top , width ,height); / 5125 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 10 页 - - - - - - - - - Lily200825 System.err.println( 总计耗时 :+(System.currentTimeMillis() - start); catch (Exception e) e.printStackTrace(); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 10 页 - - - - - - - - -

    注意事项

    本文(2022年图片加水印归类 .pdf)为本站会员(Che****ry)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开