首页 > 编程知识 正文

java多行文字水印(java图片加文字水印)

时间:2023-12-18 11:56:34 阅读:316889 作者:EVWM

本文目录一览:

Java怎么加多排倾斜的水印文字

class ImagePanel2a extends JPanel

{

/**

* 图像面板类

*/

....................................

String st = "水印";

BufferedImage image = null;

public void paintComponent(Graphics g)

{

super.paintComponent(g);

Graphics2D g2 = (Graphics2D) g;

if (image != null)

{

g2.drawImage(image, 0, 0, this);

g2.setColor(Color.green);//设置水印颜色

g2.drawString(st, 10, 10);//绘制水印,具体水印绘制方式根据自己的需求修改

}

.........

}

.................

}

/**

*保存添加水印后的图片

*

*/

......

BufferedImage bi = new BufferedImage(ImagePanel2a.getWidth(), ImagePanel2a.getHeight(), BufferedImage.TYPE_INT_ARGB);

Graphics2D g2d = bi.createGraphics();

ImagePanel2a.paint(g2d);

ImageIO.write(bi, "PNG", new 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给word添加多个文字水印

虽然没做过,但是可以给个思路,输入流读取文件,处理文件,输出流,一个水印都加上了,调一调设置,大概就能出多个了。

java实现在同一张图片上面绘制多个不同位置的水印

Graphics2D g = buffImg.createGraphics();

// 3、设置对线段的锯齿状边缘处理

g.setRenderingHint(RenderingHints.KEY_INTERPOLATION,

RenderingHints.VALUE_INTERPOLATION_BILINEAR);

g.drawImage(

srcImg.getScaledInstance(srcImg.getWidth(null),

srcImg.getHeight(null), Image.SCALE_SMOOTH), 0, 0, null);

// 5、设置水印文字颜色

g.setColor(color);

// 6、设置水印文字Font

g.setFont(font);

// 7、设置水印文字透明度

g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_ATOP,

alpha));

// 8、第一参数-设置的内容,后面两个参数-文字在图片上的坐标位置(x,y)

g.drawString(logoText, positionX, PositionY);

// 9、释放资源

g.dispose();,

你这里每一次都重新绘制了图片,把之前绘制的部分覆盖了

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。