返回顶部
首页 > 资讯 > 后端开发 > Python >Java实现画图 给图片底部添加文字标题
  • 449
分享到

Java实现画图 给图片底部添加文字标题

2024-04-02 19:04:59 449人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录Java画图 给图片底部添加文字标题Java 给图片添加文字水印Java画图 给图片底部添加文字标题 需求给图片底部添加文字编号 import java.awt.Color;

Java画图 给图片底部添加文字标题

需求给图片底部添加文字编号


import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.RenderingHints;
import java.awt.font.FontRenderContext;
import java.awt.geom.Rectangle2D;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;

public class ImageUtil {
    
    public void create(String str, String oldPath, String newPath, int width, int height){
        try {
            File oldFile = new File(oldPath);
            Image image = ImageIO.read(oldFile);
            File file = new File(newPath);
            BufferedImage bi = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
            Graphics2D g2 = bi.createGraphics();
            g2.setBackground(Color.WHITE);
            g2.clearRect(0, 0, width, height);
            g2.drawImage(image, 0, 0, width - 25, height - 25, null); //这里减去25是为了防止字和图重合
            
            Font font = new Font("黑体", Font.BOLD, 25);
            g2.setFont(font);
            g2.setPaint(Color.BLACK);
            
            FontRenderContext context = g2.getFontRenderContext();
            Rectangle2D bounds = font.getStringBounds(str, context);
            double x = (width - bounds.getWidth()) / 2;
            //double y = (height - bounds.getHeight()) / 2; //Y轴居中
            double y = (height - bounds.getHeight());
            double ascent = -bounds.getY();
            double baseY = y + ascent;
            
            g2.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
            
            g2.drawString(str, (int) x, (int) baseY);
            ImageIO.write(bi, "jpg", file);
        } catch (IOException e) {
            e.printStackTrace();
        } 
    }
    public static void main(String[] args) {
        try {
            ImageUtil img = new ImageUtil();
            img.create("编号:0011", "E:\\111.png", "E:\\222.png", 455, 455);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

原图:

这里写图片描述

生成后:

这里写图片描述

Java 给图片添加文字水印

水印操作有很多,例如:给图片添加文字、图片水印,给pdf文件添加水印,给文件加盖公章,这类需求还是时常会遇到的,今天就简单记录一下给图片添加文字水印的demo,仅供大家参考,后续会写别的情况的添加水印的demo,有用到的可以关注一下。


package com.gupaoedu.vip.test; 
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream; 
public class watermark { 
 
    
    public void addWaterMark() {
 
        Color color = new Color(255, 200, 0, 118);   // 水印颜色
        Font font = new Font("微软雅黑", Font.ITALIC, 45);  //水印字体
        String waterMarkContent="我爱你 I LOVE YOU";   //水印内容
        String tarImgPath = "C:\\Users\\yun\\Desktop\\新建文件夹\\timg2.jpg";  //存储目标路径
        try {
            File file = new File("C:\\Users\\yun\\Desktop\\新建文件夹\\timg.jpg");  //原图片
            BufferedImage buImage = ImageIO.read(file);
            int width = buImage.getWidth(); //图片宽
            int height = buImage.getHeight(); //图片高
 
            //添加水印
            BufferedImage bufferedImage = new BufferedImage(width,height,BufferedImage.TYPE_INT_BGR);
            Graphics2D g = bufferedImage.createGraphics();
            g.drawImage(buImage, 0, 0, width, height, null);
            g.setColor(color); //水印颜色
            g.setFont(font); //水印字体
 
            int x = width -2*getWatermarkLength(waterMarkContent, g);  //这是一个计算水印位置的函数,可以根据需求添加
            int y = height - 1*getWatermarkLength(waterMarkContent, g);
            g.drawString(waterMarkContent, 400, 300); //水印位置
            g.dispose(); //释放资源
 
            FileOutputStream outImgStream = new FileOutputStream(tarImgPath);
            ImageIO.write(bufferedImage, "jpg", outImgStream);
            System.out.println("添加水印完成");
            outImgStream.flush();
            outImgStream.close();
 
 
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
 
    public int getWatermarkLength(String waterMarkContent, Graphics2D g) {
        return g.getFontMetrics(g.getFont()).charsWidth(waterMarkContent.toCharArray(), 0, waterMarkContent.length());
    }
    public static void main(String[] args) {
        new watermark().addWaterMark();
    }
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: Java实现画图 给图片底部添加文字标题

本文链接: https://lsjlt.com/news/157331.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Java实现画图 给图片底部添加文字标题
    目录Java画图 给图片底部添加文字标题Java 给图片添加文字水印Java画图 给图片底部添加文字标题 需求给图片底部添加文字编号 import java.awt.Color;...
    99+
    2024-04-02
  • Python实现给图片添加文字或图片水印
    目录前言PIL的Image模块的基本介绍Python代码实现文字水印Python代码实现图片水印前言 图片加水印有什么好处?在现今的数字化时代,网络上的图片泛滥,盗图现象也越来越严重...
    99+
    2023-05-19
    Python图片添加文字水印 Python图片添加图片水印 Python图片添加水印 Python添加水印
  • PHP怎么实现给图片添加文字水印
    本篇内容主要讲解“PHP怎么实现给图片添加文字水印”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP怎么实现给图片添加文字水印”吧!PHP给图片添加文字水印实例,支持中文文字水印,是否覆盖原图...
    99+
    2023-06-04
  • PHP中怎么给图片添加文字
    这期内容当中小编将会给大家带来有关PHP中怎么给图片添加文字,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、文字水印文字水印就是在图片上加上文字,主要使用gd库的ima...
    99+
    2024-04-02
  • golang中实现给gif、png、jpeg图片添加文字水印
    添加水印示例 添加main文件 “watermark/main.go” package main import ( "fmt" "watermark/textwatermar...
    99+
    2024-04-02
  • java实现在一张大图片上添加小图及文字
    目录在一张大图上添加小图及文字实现给图片添加水印1. 添加文字水印2. 添加图片水印在一张大图上添加小图及文字 import com.sun.image.codec.jpeg.J...
    99+
    2024-04-02
  • Android编程实现给Button添加图片和文字的方法
    本文实例讲述了Android编程实现给Button添加图片和文字的方法。分享给大家供大家参考,具体如下: //为按钮添加图片和文字的方法 public Spanned get...
    99+
    2022-06-06
    button 方法 图片 Android
  • golang中如何实现给gif、png、jpeg图片添加文字水印
    小编给大家分享一下golang中如何实现给gif、png、jpeg图片添加文字水印,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!什么是golanggolang 是Google开发的一种静态强类型、编译型、并发型,并具有垃圾...
    99+
    2023-06-14
  • Python实现给图片加文字或logo水印
    目录前言环境依赖代码验证一下执行结果前言 本文提供给图片添加文字或者logo图片水印的python工具,打造专属图片。 环境依赖 ffmpeg环境安装,ffmpy安装: pip ...
    99+
    2024-04-02
  • java怎么在图片上添加文字
    要在Java中给图片添加文字,可以使用Graphics2D类。下面是一个简单的示例代码,演示如何在图片上添加文字:```javaim...
    99+
    2023-08-20
    java
  • 用Python给二维码图片添加提示文字
    目录一、需求:二、效果图:三、代码实现:一、需求: 判断当前浏览器是否为微信,是的话挑起微信支付,不是的话,显示二维码图片并提示用户到微信中打开 二、效果图: 三、代码实现: 1....
    99+
    2024-04-02
  • java怎么实现添加图片水印和文字水印
    这篇文章主要介绍java怎么实现添加图片水印和文字水印,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!我们经常会在一些图片或者图片上看到某某公司或品牌的水印,那么我们可不可以自己在喜欢的图片或文件上添加水印呢?答案当然...
    99+
    2023-06-09
  • Java实现添加文字水印和图片水印功能
    目录添加水印Java 2D API介绍1.创建一个绘制图形的对象2.绘制基本图形3.绘制文本4.绘制图像5.设置绘制属性绘制文字水印绘制图片水印循环添加文字水印添加水印 为图片添加水...
    99+
    2023-05-18
    Java 文字水印 Java 图片水印
  • Python+Matplotlib实现给图像添加文本标签与注释
    目录1.添加文本标签 plt.text()2. 添加注释 plt.annotate()1.添加文本标签 plt.text() 用于在绘图过程中,在图像上指定坐标的位置添加文本。需要用...
    99+
    2024-04-02
  • Java实现添加文字水印&图片水印的方法详解
    目录为什么要给图片添加水印绘制文字水印动态计算字符串的宽度自适应文字水印位置绘制图片水印提升图片处理速度为什么要给图片添加水印 为图片添加水印的主要作用是保护图片版权,防止图片被未经...
    99+
    2023-02-06
    Java添加文字水印 Java添加图片水印 Java添加水印
  • Java使用pdfbox实现给pdf文件加图片水印
    目录引入依赖代码效果引入依赖 <dependency> <groupId>org.apache.pdfbox</groupId&...
    99+
    2022-11-16
    Java pdfbox PDF添加图片水印 Java PDF添加图片水印 Java PDF水印
  • Java实现给Word文件添加文字水印
    目录方法思路Jar引入Java代码Word中设置水印时,可预设的文字或自定义文字设置为水印效果,但通常添加水印效果时,会对所有页面都设置成统一效果,如果需要对每一页或者某个页面设置不...
    99+
    2024-04-02
  • Python+Matplotlib怎么实现给图像添加文本标签与注释
    这篇文章主要讲解了“Python+Matplotlib怎么实现给图像添加文本标签与注释”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python+Matplotlib怎么实现给图像添加文本标...
    99+
    2023-06-29
  • 如何使用canvas实现给图片添加平铺水印
    小编给大家分享一下如何使用canvas实现给图片添加平铺水印,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!最近项目中遇到一个需求,需要把一张图片加上平铺的水印类似...
    99+
    2023-06-09
  • Java如何实现给Word文件添加文字水印
    这篇文章主要为大家展示了“Java如何实现给Word文件添加文字水印”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Java如何实现给Word文件添加文字水印”这篇文章吧。方法思路在给Word每一...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作