java图片水印(java图片水印自适应图片大小)

今天给各位分享java图片水印的知识,其中也会对java图片水印自适应图片大小进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

1、java中打印的pdf怎么添加图片水印2、Java上传图片到OSS怎么添加水印?3、java 如何给pdf文件加水印4、如何用java去除图片水印?5、java怎么给word文档加水印

java中打印的pdf怎么添加图片水印

添加水印可以参考使用控件来添加的方法,如下:

1. 添加单个图片水印效果:

import com.spire.pdf.*;

import java.awt.geom.Rectangle2D;

public class watermark {

public static void main(String[] args) {

//加载PDF文档

PdfDocument doc = new PdfDocument();

doc.loadFromFile(“C:\\Users\\Administrator\\Desktop\\Sample.pdf”);

//获取第一页

PdfPageBase page = doc.getPages().get(0);

//设置背景图片

page.setBackgroundImage(“C:\\Users\\Administrator\\Desktop\\logo.png”);

//设置背景区域

Rectangle2D.Float rect = new Rectangle2D.Float();

rect.setRect(280, 300, 150, 150);

page.setBackgroundRegion(rect);

//保存文档

doc.saveToFile(“output/imageWaterMark.pdf”);

doc.close();

}

}

2. 添加平铺图片水印效果

import com.spire.pdf.*;

import com.spire.pdf.graphics.PdfImage;

import com.spire.pdf.graphics.PdfTilingBrush;

import java.awt.*;

import java.awt.geom.Dimension2D;

import java.awt.geom.Rectangle2D;

public class AddBackground {

public static void main(String[] args) {

//创建PdfDocument对象,并加载PDF测试文档

PdfDocument pdf = new PdfDocument();

pdf.loadFromFile(“test.pdf”);

//遍历文档每一页,加载图片,并设置成平铺背景(水印)

for (int i = 0; i pdf.getPages().getCount();i++)

{

PdfPageBase page = pdf.getPages().get(i);

Dimension2D dimension2D = new Dimension();

dimension2D.setSize(page.getCanvas().getSize().getWidth()/4, page.getCanvas().getSize().getHeight()/3);

PdfTilingBrush brush = new PdfTilingBrush(dimension2D);

brush.getGraphics().setTransparency(0.2f);

     brush.getGraphics().translateTransform(brush.getSize().getWidth()/10,brush.getSize().getHeight()/10);

brush.getGraphics().rotateTransform(30);

PdfImage image = PdfImage.fromImage(“logo.png”);

brush.getGraphics().drawImage(image,brush.getSize().getWidth()-image.getWidth()/2,(brush.getSize().getHeight())/2);

Rectangle2D rectangle2D = new Rectangle2D.Float();

rectangle2D.setFrame(new Point(0,0),page.getCanvas().getClientSize());

page.getCanvas().drawRectangle(brush,rectangle2D);

}

//保存文档

pdf.saveToFile(“SetTiledBackground.pdf”);

pdf.dispose();

}

}

注:这里使用的是free Spire.Pdf.jar(以上代码参考自文章1、文章2)

java图片水印(java图片水印自适应图片大小)

Java上传图片到OSS怎么添加水印?

首先,图片上的水印图片只能使用当前存储空间内的图片,如果没有,需要先传到当前空间内。

其次,水印图片的格式仅支持png,jpg,webp三种。

java里面上传水印,可以使用提供的sdk里面的watermark方法,这个函数有5个参数,分别是t,g,x,y,voffset.其中第一个参数表示透明度,其它参数表示位置。

当然了,它还可以指定水印文字,具体可以参考阿里云官方提供的文档,代码示例可以去github上找到对应操作的代码。

具体代码如下

// add watermark into the image

style = “image/watermark,text_SGVsbG8g5Zu-54mH5pyN5YqhIQ”;

request = new GetObjectRequest(bucketName, key);

request.setProcess(style);

java 如何给pdf文件加水印

可以使用Spire.PDF for Java通过Java来添加水印。

首先,您需要在 Java 程序中添加 Spire.Pdf.jar 文件作为依赖项。您可以从这个链接下载 JAR 文件;如果您使用 Maven,则可以通过在 pom.xml 文件中添加以下代码导入 JAR 文件。

repositories

repository

idcom.e-iceblue/id

url;/url

/repository/repositoriesdependencies

dependency

groupIde-iceblue/groupId

artifactIdspire.pdf/artifactId

version5.3.1/version

/dependency/dependencies

1.添加图片水印

代码如下:

import com.spire.pdf.*;

import java.awt.geom.Rectangle2D;

public class watermark {

public static void main(String[] args) {

//加载PDF文档

PdfDocument doc = new PdfDocument();

doc.loadFromFile(“C:\\Users\\Administrator\\Desktop\\Sample.pdf”);

//获取第一页

PdfPageBase page = doc.getPages().get(0);  

//设置背景图片

page.setBackgroundImage(“C:\\Users\\Administrator\\Desktop\\logo.png”);

//设置背景区域

Rectangle2D.Float rect = new Rectangle2D.Float();

rect.setRect(280, 300, 150, 150);

page.setBackgroundRegion(rect);

//保存文档

doc.saveToFile(“output/imageWaterMark.pdf”);

doc.close();

}

}

2.添加文本水印

代码如下:

import com.spire.pdf.*;

import com.spire.pdf.graphics.*;

import java.awt.*;

import java.awt.geom.*;

public class Textwatermark {

public static void main(String[] args) {

//创建PdfDocument对象

PdfDocument pdf = new PdfDocument();

//加载示例文档

pdf.loadFromFile(“C:\\Users\\Administrator\\Desktop\\Sample.pdf”);

//获取第一页

PdfPageBase page = pdf.getPages().get(0);

//调用insertWatermark方法插入文本水印

insertWatermark(page, “E-ICEBLUE”);

//保存文档

pdf.saveToFile(“out/textWaterMark.pdf”);

}

static void insertWatermark(PdfPageBase page, String watermark) {

Dimension2D dimension2D = new Dimension();

dimension2D.setSize(page.getCanvas().getClientSize().getWidth() / 2, page.getCanvas().getClientSize().getHeight() / 3);

PdfTilingBrush brush = new PdfTilingBrush(dimension2D);

brush.getGraphics().setTransparency(0.3F);

brush.getGraphics().save();

brush.getGraphics().translateTransform((float) brush.getSize().getWidth() / 2, (float) brush.getSize().getHeight() / 2);

brush.getGraphics().rotateTransform(-45);

brush.getGraphics().drawString(watermark, new PdfFont(PdfFontFamily.Helvetica, 24), PdfBrushes.getViolet(), 0, 0, new PdfStringFormat(PdfTextAlignment.Center));

brush.getGraphics().restore();

brush.getGraphics().setTransparency(1);

Rectangle2D loRect = new Rectangle2D.Float();

loRect.setFrame(new Point2D.Float(0, 0), page.getCanvas().getClientSize());

page.getCanvas().drawRectangle(brush, loRect);

}

}

希望对您有帮助。

如何用java去除图片水印?

//运行以下程序即可

public class ImageInit {

BufferedImage image;

private int iw, ih;

private int[] pixels;

public ImageInit(BufferedImage image) {

this.image = image;

iw = image.getWidth();

ih = image.getHeight();

pixels = new int[iw * ih];

}

public BufferedImage changeGrey() {

PixelGrabber pg = new PixelGrabber(image.getSource(), 0, 0, iw, ih,

pixels, 0, iw);

try {

pg.grabPixels();

} catch (InterruptedException e) {

e.printStackTrace();

}

// 设定二值化的域值,默认值为100

int grey = 100;

// 对图像进行二值化处理,Alpha值保持不变

ColorModel cm = ColorModel.getRGBdefault();

for (int i = 0; i  iw * ih; i++) {

int red, green, blue;

int alpha = cm.getAlpha(pixels[i]);

if (cm.getRed(pixels[i])  grey) {

red = 255;

} else {

red = 0;

}

if (cm.getGreen(pixels[i])  grey) {

green = 255;

} else {

green = 0;

}

if (cm.getBlue(pixels[i])  grey) {

blue = 255;

} else {

blue = 0;

}

pixels[i] = alpha  24 | red  16 | green  8 | blue; // 通过移位重新构成某一点像素的RGB值

}

// 将数组中的象素产生一个图像

Image tempImg = Toolkit.getDefaultToolkit().createImage(

new MemoryImageSource(iw, ih, pixels, 0, iw));

image = new BufferedImage(tempImg.getWidth(null),

tempImg.getHeight(null), BufferedImage.TYPE_INT_BGR);

image.createGraphics().drawImage(tempImg, 0, 0, null);

return image;

}

public BufferedImage getMedian() {

PixelGrabber pg = new PixelGrabber(image.getSource(), 0, 0, iw, ih,

pixels, 0, iw);

try {

pg.grabPixels();

} catch (InterruptedException e) {

e.printStackTrace();

}

// 对图像进行中值滤波,Alpha值保持不变

ColorModel cm = ColorModel.getRGBdefault();

for (int i = 1; i  ih – 1; i++) {

for (int j = 1; j  iw – 1; j++) {

int red, green, blue;

int alpha = cm.getAlpha(pixels[i * iw + j]);

// int red2 = cm.getRed(pixels[(i – 1) * iw + j]);

int red4 = cm.getRed(pixels[i * iw + j – 1]);

int red5 = cm.getRed(pixels[i * iw + j]);

int red6 = cm.getRed(pixels[i * iw + j + 1]);

// int red8 = cm.getRed(pixels[(i + 1) * iw + j]);

// 水平方向进行中值滤波

if (red4 = red5) {

if (red5 = red6) {

red = red5;

} else {

if (red4 = red6) {

red = red6;

} else {

red = red4;

}

}

} else {

if (red4  red6) {

red = red4;

} else {

if (red5  red6) {

red = red6;

} else {

red = red5;

}

}

}

int green4 = cm.getGreen(pixels[i * iw + j – 1]);

int green5 = cm.getGreen(pixels[i * iw + j]);

int green6 = cm.getGreen(pixels[i * iw + j + 1]);

// 水平方向进行中值滤波

if (green4 = green5) {

if (green5 = green6) {

green = green5;

} else {

if (green4 = green6) {

green = green6;

} else {

green = green4;

}

}

} else {

if (green4  green6) {

green = green4;

} else {

if (green5  green6) {

green = green6;

} else {

green = green5;

}

}

}

// int blue2 = cm.getBlue(pixels[(i – 1) * iw + j]);

int blue4 = cm.getBlue(pixels[i * iw + j – 1]);

int blue5 = cm.getBlue(pixels[i * iw + j]);

int blue6 = cm.getBlue(pixels[i * iw + j + 1]);

// int blue8 = cm.getBlue(pixels[(i + 1) * iw + j]);

// 水平方向进行中值滤波

if (blue4 = blue5) {

if (blue5 = blue6) {

blue = blue5;

} else {

if (blue4 = blue6) {

blue = blue6;

} else {

blue = blue4;

}

}

} else {

if (blue4  blue6) {

blue = blue4;

} else {

if (blue5  blue6) {

blue = blue6;

} else {

blue = blue5;

}

}

}

pixels[i * iw + j] = alpha  24 | red  16 | green  8

| blue;

}

}

// 将数组中的象素产生一个图像

Image tempImg = Toolkit.getDefaultToolkit().createImage(

new MemoryImageSource(iw, ih, pixels, 0, iw));

image = new BufferedImage(tempImg.getWidth(null),

tempImg.getHeight(null), BufferedImage.TYPE_INT_BGR);

image.createGraphics().drawImage(tempImg, 0, 0, null);

return image;

}

public BufferedImage getGrey() {

ColorConvertOp ccp = new ColorConvertOp(

ColorSpace.getInstance(ColorSpace.CS_GRAY), null);

return image = ccp.filter(image, null);

}

// Brighten using a linear formula that increases all color values

public BufferedImage getBrighten() {

RescaleOp rop = new RescaleOp(1.25f, 0, null);

return image = rop.filter(image, null);

}

// Blur by “convolving” the image with a matrix

public BufferedImage getBlur() {

float[] data = { .1111f, .1111f, .1111f, .1111f, .1111f, .1111f,

.1111f, .1111f, .1111f, };

ConvolveOp cop = new ConvolveOp(new Kernel(3, 3, data));

return image = cop.filter(image, null);

}

// Sharpen by using a different matrix

public BufferedImage getSharpen() {

float[] data = { 0.0f, -0.75f, 0.0f, -0.75f, 4.0f, -0.75f, 0.0f,

-0.75f, 0.0f };

ConvolveOp cop = new ConvolveOp(new Kernel(3, 3, data));

return image = cop.filter(image, null);

}

// 11) Rotate the image 180 degrees about its center point

public BufferedImage getRotate() {

AffineTransformOp atop = new AffineTransformOp(

AffineTransform.getRotateInstance(Math.PI,

image.getWidth() / 2, image.getHeight() / 2),

AffineTransformOp.TYPE_NEAREST_NEIGHBOR);

return image = atop.filter(image, null);

}

public BufferedImage getProcessedImg() {

return image;

}

public static void main(String[] args) throws IOException {

String filePath=”F:/k7qp5.png”;

FileInputStream fin = new FileInputStream(filePath);

BufferedImage bi = ImageIO.read(fin);

ImageInit flt = new ImageInit(bi);

flt.changeGrey();

flt.getGrey();

flt.getBrighten();

bi = flt.getProcessedImg();

String pname = filePath.substring(0, filePath.lastIndexOf(“.”));

File file = new File(pname + “.jpg”);

ImageIO.write(bi, “jpg”, file);

}

}

java怎么给word文档加水印

可以使用Free Spire.Doc for Java在word文档中添加文本水印或图片水印。Free Spire.Doc for Java下载链接:网页链接

1.添加文本水印——代码如下:

import com.spire.doc.*;

import com.spire.doc.documents.WatermarkLayout;

import java.awt.*;

public class WordTextWatermark {

public static void main(String[] args) {

Document document = new Document();

document.loadFromFile(“Sample.docx”);

insertTextWatermark(document.getSections().get(0));

}

private static void insertTextWatermark(Section section) {

TextWatermark txtWatermark = new TextWatermark();

txtWatermark.setText(“内部使用”);

txtWatermark.setFontSize(40);

txtWatermark.setColor(Color.red);

txtWatermark.setLayout(WatermarkLayout.Diagonal);

section.getDocument().setWatermark(txtWatermark);

}

}

2.添加图片水印——代码如下:

import com.spire.doc.*;

public class WordImageWatermark {

public static void main(String[] args)  throws Exception{

Document document = new Document();

document.loadFromFile(“Sample.docx”);

PictureWatermark picture = new PictureWatermark();

picture.setPicture(“logo.png”);

picture.setScaling(5);

picture.isWashout(false);

document.setWatermark(picture);

document.saveToFile(“out/result2.docx”,FileFormat.Docx )

}

}

java图片水印的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java图片水印自适应图片大小、java图片水印的信息别忘了在本站进行查找喔。

本文来自投稿,不代表【】观点,发布者:【

本文地址: ,如若转载,请注明出处!

举报投诉邮箱:253000106@qq.com

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年3月29日 19:52:37
下一篇 2024年3月29日 20:03:25

相关推荐

  • excel选定图片对象,excel对象图标图片

    excel如何全选图片 1、全选图片打开EXCEL表格,在键盘上按下“ALT+A”,全选所有的图片。调大图片点击任意一个图片选择框上四个角落的小圆圈,往外拉动鼠标,所有的图片统一调大。 2、按住 Alt 键,再单击图片。也可以右击图片,然后在图片外空白区单击一下。在选中任一幅图片之后,按下组合键“Ctrl + A”,即可选中所有图片了。“Ctrl + A”,…

    2024年5月23日
    4600
  • 黑客技术学习图片转文字,黑客图片 专用

    最近有什么好看的小说 最近好看的小说有:《大奉打更人》、《诡秘之主》、《万族之劫》、《我师兄实在太稳健了》、《全球高武》等。《大奉打更人》简介:这个世界,有儒;有道;有佛;有妖;有术士。 《灿烂千阳》《追风筝的人》的作者的第二本小说,关于不可宽恕的时代,不可能的友谊以及不可毁灭的爱。 《我在精神病院学斩神》作者:三九音域 这本书最近真的太火了,一句“前方华夏…

    2024年5月23日
    3800
  • 有关网络安全的知识及图片,有关网络安全的知识及图片大全

    网络安全宣传知识内容 网络安全知识内容是:网络攻击、信息安全、不可抵赖性、网络内部安全防范措施、网络杀毒、网络数据备份、网络灾难恢复、信息传播安全、网络安全。 网络安全内容是:网络攻击、信息安全、不可抵赖性、网络内部安全防范措施、网络杀毒、网络数据备份、网络灾难恢复、信息传播安全、网络安全。 网络安全宣传标语 网络安全为人民,网络安全靠人民。没有网络安全,就…

    2024年5月23日
    3400
  • 网络安全宣传小知识图片,网络安全100个小知识

    网络安全的手抄报内容 1、充分利用网络便捷之利,坚决抵制网络低俗之风。网络提高知识的速度,文明提高生活的质量。尽网安之责,享网络之便。聚网络文明之风,传文明网络之行。网络安全同担,网络生活共享。 2、网络安全的手抄报内容如下:筑牢网络安全基石,成就网络强国梦想。网络社会法治社会,网络空间网警保卫。切实增强网络安全意识,共同提高识骗防骗能力。网络安全同担,网络…

    2024年5月23日
    3900
  • 女黑客学习励志图片,女黑客的头像

    一天内瘫痪3500台电脑,被罚3.5万美元,这名女黑客是什么来历呢?_百度… 当然这一次黑客事件也引发了轩然大波,导致芝加哥商品交易所单日集体恐慌式下跌。 Morris现在担任麻省理工电脑科学和人工智能实验室的教授,其研究方向是电脑网络的架构。 黑客原意是指用斧头砍柴的工人,最早被引进计算机圈则可追溯自1960年代。 通过电脑病毒甚至可以对核电站…

    2024年5月23日
    3500
  • excel图片大小一致快捷键,excel图片大小一致快捷键是哪个

    excel图片对齐快捷键是什么,excel表格图片对齐快捷键是什么? 首先在excel表格中插入图片,并同时选中两张图片。然后点击表格上方工具栏中的“页面布局”选项。进入“页面布局”后,在其中找到“对齐”选项。 选中要整理的图片:在Excel工作表中,按住Ctrl键并单击每个图片。找到“图片格式”选项卡:在Excel顶部菜单栏,点击“图片格式”选项卡。 首先…

    2024年5月23日
    4300
  • 找黑客学习图片漫画,漫画黑客图片头像

    黑客初学者怎样入门 成为黑客的基础入门需要学习计算机编程、网络技术、操作系统、加密技术等相关知识。同时,需要具备好奇心、探索精神和解决问题的能力。想成为黑客,需要首先熟练掌握一种或多种编程语言,如Python、Java等。 对于零基础的朋友第一步要做的是掌握web前后端基础和服务器通讯原理,前后端包括h5,js,PHP,sql等等。 学习密码技术 作为一名优…

    2024年5月22日
    3600
  • 包含linuxhtml转图片不显示不出来的词条

    html编辑代码为什么图片显示不出来??请大家帮忙 1、html文件里面图片无法显示,原因如下:仔细检查图片这一块代码,是否写错了,比如多写了一个字符或者漏掉了一个字符。 2、html插入图片不显示的原因是系统一时故障导致的,具体解决方法步骤如下:首先,需要创建一个html。同时,需要创建一个CSS文档。CSS文档的后缀名必须为CSS,比如创建一个index…

    2024年5月22日
    3500
  • java服务器发送图片,java上传图片到ftp服务器

    java实现图片上传至服务器并显示,如何做? file inputstream outputstream ,基本上IO流章节实现,当然还有很多封装的jar包,网上去搜搜。 我们使用一些已有的组件帮助我们实现这种上传功能。 写个上传类,现在网上很多功能强大的flash上传插件,例如swfUpload,百度编辑器也自带上传功能。你如果想自己写一个上传类例如引用s…

    2024年5月22日
    4000
  • wpsexcel加水印,wpsexcel水印在哪里设置

    wps怎么做水印 1、wps文档中,点击“插入”菜单,如图所示。点击“水印”选项,如图所示。选择需要的水印样式即可,也可以点击“插入水印”去自定义调整水印样式,如图所示。 2、wps水印的设置步骤是:点击WPS界面菜单栏的“页面布局”。在“背景”中点击“水印”按钮。在弹出菜单中点击“自定义水印”。点击“文字水印”,即可开始设置文字水印。 3、第一步,在电脑的…

    2024年5月22日
    4500

发表回复

登录后才能评论



关注微信