问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

JAVA 数字水印 小程序(给图片打上水印或检测水印),求发个源码谢谢

发布网友 发布时间:2022-04-26 21:43

我来回答

5个回答

热心网友 时间:2023-08-20 08:49

package com.aspectj;

import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;

import javax.swing.ImageIcon;

import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGEncodeParam;
import com.sun.image.codec.jpeg.JPEGImageEncoder;

/**
 * @author Administrator
 * 
 *         TODO 要更改此生成的类型注释的模板,请转至 窗口 - 首选项 - Java - 代码样式 - 代码模板
 * 
 *         添加水印, filePath 源图片路径 含图片名, watermark 水印图片路径 savePath
 *         为你添加水印后的图片保存路径文件夹 words 要添加的文字
 */
// 添加水印,filePath 源图片路径, watermark 水印图片路径
public class Mark {
private static int wid = 0;
private static int het = 0;

public static boolean createMark(String filePath, String watermark,
String words, String savePath) {

ImageIcon imgIcon = new ImageIcon(filePath);
Image theImg = imgIcon.getImage();
ImageIcon waterIcon = new ImageIcon(watermark);
Image waterImg = waterIcon.getImage();
// /////////////////////////////////////////////////////////////////////
File f = new File(filePath);
String picname = f.getName();// 取得图片名
if (watermark != null && !watermark.equals("")) {// 当水印图标为空时
ImageIcon markIcon = new ImageIcon(watermark); // 要添加的水印图标
Image markImg = markIcon.getImage();
wid = markImg.getWidth(null); // 水印图标宽度
het = markImg.getHeight(null); // 水印图标高度
}
// ////////////////////////////////////////////////////////////////////
int width = theImg.getWidth(null); // 源图片宽度
int height = theImg.getHeight(null); // 源图片高度
if (savePath.equals(""))
savePath = filePath;// 如果未指定保存路径则保存回原路径
else
savePath = savePath + "指定保存文件夹时,拼接出保存路径";
BufferedImage bimage = new BufferedImage(width, height,
BufferedImage.TYPE_INT_RGB);
Graphics2D g = bimage.createGraphics();
g.setColor(Color.red); // 设置颜色
g.setBackground(Color.white);
g.drawImage(theImg, 0, 0, null);
g.drawImage(waterImg, width - wid + 5, height - het + 5, null); // 添加图标中间两个数字参数
// 是设定位置
g.drawString(words, width - 120, height - 10); // 添加文字

try {
FileOutputStream out = new FileOutputStream(savePath);
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(bimage);
param.setQuality(50f, true); // 图片质量
encoder.encode(bimage, param);
out.close();
} catch (Exception e) {
e.printStackTrace();
System.out.println("===========水印失败");
return false;
} finally {
System.gc();// 清理 垃圾对象
}
System.out.println("===========水印成功");
return true;
}

// /测试主程序
public static void main(String[] args) {
createMark("dcc451da81cb39dbfa76de3ad2160924ab183023.jpg", "u=4038692558,3024950167&fm=21&gp=0.jpg", "aas", "");
}
}

检测水印很难做到,但是加上水印还是比较简单的

热心网友 时间:2023-08-20 08:50

生成一个掩码 写入图片 类似于验证码的后面的干扰码

热心网友 时间:2023-08-20 08:50

一楼 给力

热心网友 时间:2023-08-20 08:51

很多去水印的小工具

热心网友 时间:2023-08-20 08:52

Thumbnailator 是一个为Java界面更流畅的缩略图生成库
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
i9502联通卡放置用认准卡位 I9502,SIM1切换SIM网络上网问题 如何批量删除iphone5s通讯录 中联通信飞越JSY2000-FY(832端口)一般规格 中联通信飞越JSY2000-FY重要参数 JSY2000-FY如何设置离位转移? 特权分机如何代普通分机设置叫醒? 中联的JSY2000-FY如何用话机设置免打扰? 垂直分析法分析什么表 零基础学雅思一年多少费用 联想thinkpad x121e原来是linux系统的现在系统损坏如何恢复或重新装xp呢。 ThinkPad X121e 笔记本电脑如何重装系统 新买的THINKPADX121E总是会自动重启,有时机子刚开也会,排除温度过高,,哪里有问题? ThinkPad X121e 与ThinkPad E120 哪个好 Thinkpad X121e主板硬盘接口 ThinkPad E125(3035-A18)与ThinkPad X121e(3045-74C)的区别 ThinkPadX121e(3051L11)内存升级1 THINKPAD X121E能加固态硬盘吗 联想thinkpadx121e l11 11.6寸 怎么样? 我的ThinkPad X121E笔记本可以升级CPU吗? 针对ThinkPad X121e CPU的问题,E-350和i3-2357m。 我是THINKPAD X121e的电脑,这样配置的电脑,加跟内存条,速度会提高吗? 旧笔记本升级 联想thinkpad x121e 联想ThinkPad X121e的重要参数 联想ThinkPad X121e的介绍 联想笔记本电脑ThinkPad X121e 3051A95 卸掉电池后,可以看到中间位置有一个类似SIN卡的插槽,有何用途? 你好,请问Thinkpad X121e的笔记本电脑能否把机械硬盘换成固态硬盘?固态 联想thinkpad x121e怎么拆 怎么删除微信绑定的手机号 怎么样删除微信绑定的手机号码 短视频去水印小程序? 深圳医保二档1000元,怎么查还剩多少报销额度? 深圳医保门诊异地报销比例 深圳社保第一档门诊可以报多少,一个月有多少额度可以报。有些什么药报不了 深圳医保门诊起付线 深圳三档医保卡有限额吗? 深圳统筹医保是什么 深圳医保门诊报销多少 社保卡门诊统筹报销额度 二维码名片生成器哪款好些? 二维码怎么制作到名片上 苹果手机用什么软件制作名片二维码 ipad3怎么下陌陌 自来水属于硬水还是软水 自来水 是软水还是硬水? 自来水是软水? 自来水是硬水还是软水? 自来水 是软水还是硬水 自来水是软水还是硬水? 自来水是软水还是硬水经不经过蒸馏