本文目录一览:
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();,
你这里每一次都重新绘制了图片,把之前绘制的部分覆盖了