Java三维文字特效设计_Java ImageIO添加水印文字或者图片效果

/**

* 水印文字效果

*/

public static void string(File f) throws IOException {

if (f.isDirectory()) {

File[] fs = f.listFiles();

for (File a : fs) {

if (a.isDirectory()) {

show(a);

} else {

if (a.getName().endsWith(".jpg")) {

BufferedImage s = ImageIO.read(a);

Graphics g = s.getGraphics();

g.setColor(new Color(int, int, int, int));//调整文字的颜色

g.setFont(new Font(String name, int style, int size));//调整字体格式和大小

g.drawString(String str, int x, int y);//要写入的内容和坐标位置

g.dispose();

ImageIO.write(s, "jpg", a);

}

}

}

} else {

if (f.getName().endsWith(".jpg")) {

BufferedImage s = ImageIO.read(f);

Graphics g = s.getGraphics();

g.setColor(new Color(int, int, int, int));

g.setFont(new Font(String name, int style, int size));

g.drawString(String str, int x, int y);

g.dispose();

ImageIO.write(s, "jpg", f);

}

}

}

/**

* 水印图片效果

*/

public static void image(File f,File f1) throws IOException {

BufferedImage bi = ImageIO.read(f);

int fw = bi.getWidth();

int fh = bi.getHeight();

BufferedImage logo = ImageIO.read(f1);

int logow = logo.getWidth();

int logoh = logo.getHeight();

Graphics g = bi.getGraphics();

/**

* int x = fw - logow;

* int y = fh - logoh;

* 水印位于右下角,刚好贴近右下角位置,不想贴近边缘可以视情况减去一个数字留一个空间

* int x = fw/2 - logow/2;

* int y = fh/2 - logoh/2;

* 水印位于中间

*/

Random rand = new Random();

int x = rand.nextInt(fw - logow)+1;

int y = rand.nextInt(fh - logoh)+1;

//水印位于随机位置

g.drawImage(logo, x, y, logow, logoh, null);//水印效果

g.dispose();

ImageIO.write(bi,"jpg",f);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值