`
chaoren3166gg
  • 浏览: 19977 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java实现将文字转换成PNG图片

阅读更多
整体思想为:
1. 根据文字算出文字需要占用的高和宽
2. 画出画布
3. 在画布上画出文字


代码如下:

public class ImageProducerUtil {

    public static void main(String[] args) throws Exception {
        String rootPath = "/Users/xxx/image_test";
        createImage("ssss中华人民共和国", new Font("宋体", Font.PLAIN, 100), Paths.get(rootPath, "b" + 4000 + ".png").toFile());
    }
    
    private static int[] getWidthAndHeight(String text, Font font) {
        Rectangle2D r = font.getStringBounds(text, new FontRenderContext(
                AffineTransform.getScaleInstance(1, 1), false, false));
        int unitHeight = (int) Math.floor(r.getHeight());// 
        // 获取整个str用了font样式的宽度这里用四舍五入后+1保证宽度绝对能容纳这个字符串作为图片的宽度
        int width = (int) Math.round(r.getWidth()) + 1;
        // 把单个字符的高度+3保证高度绝对能容纳字符串作为图片的高度
        int height = unitHeight + 3;
        System.out.println("width:" + width + ", height:" + height);
        return new int[]{width, height};
    }

    // 根据str,font的样式以及输出文件目录
    public static void createImage(String text, Font font, File outFile)
            throws Exception {
        // 获取font的样式应用在str上的整个矩形
        int[] arr = getWidthAndHeight(text, font);
        int width = arr[0];
        int height = arr[1];
        // 创建图片
        BufferedImage image = new BufferedImage(width, height,
                BufferedImage.TYPE_INT_BGR);//创建图片画布
        Graphics g = image.getGraphics();
        g.setColor(Color.WHITE); // 先用白色填充整张图片,也就是背景
        g.fillRect(0, 0, width, height);//画出矩形区域,以便于在矩形区域内写入文字
        g.setColor(Color.black);// 再换成黑色,以便于写入文字
        g.setFont(font);// 设置画笔字体
        g.drawString(text, 0, font.getSize());// 画出一行字符串
        g.drawString(text, 0, 2 * font.getSize());// 画出第二行字符串,注意y轴坐标需要变动
        g.dispose();
        ImageIO.write(image, "png", outFile);// 输出png图片
    }
}
分享到:
评论

相关推荐

    将EMF图片格式转换成PNG

    在本项目中,我们关注的是如何将EMF图片转换为PNG格式,这通常涉及到图像处理和编程技术。`freehep`是一个开源的Java库,专门用于2D图形和图像处理,其中包括了将EMF转换为其他格式的功能。`freehep`库是由Heiko ...

    java文字转图片

    在Java编程领域,将文字转换为图片是一种常见的需求,它广泛应用于验证码生成、文本水印、数据可视化等领域。本文将详细讲解如何利用Java实现这一功能,主要涉及以下几个知识点: 1. **Graphics2D API** Java中的`...

    JAVA生成二维码,图片合成,图片添加文字对应资源和代码

    接着,可以使用`BitmapEncoder`将BitMatrix转换为图像格式,如PNG。最后,可以利用Java 2D API将生成的二维码保存到BufferedImage对象或输出到文件。 4. **图片合成**: 图片合成通常涉及将多个图像合并到一个图像...

    使用java实现,通过zpl指令调用 zebra打印机打印标签,含二维码及中文

    Java代码会先生成二维码的图像,然后将其转换为ZPL指令,以便在Zebra打印机上打印。 4. **发送ZPL指令**:一旦ZPL字符串准备好,就可以通过Java API发送到Zebra打印机。这通常涉及到建立一个TCP/IP连接,然后将ZPL...

    java实现条形码二维码生成含文字标签信息

    本篇将深入探讨如何使用Java结合ZXing库来生成包含文字标签信息的条形码和二维码。 ZXing,全称为“Zebra Crossing”,是一个开源的、跨平台的条码读取和生成项目。它支持多种条码格式,包括一维条形码(如EAN-13、...

    java实现图片转pdf文件

    在Java编程环境中,将图片转换为PDF文件是一个常见的需求,特别是在文档管理和电子出版领域。这里,我们将探讨如何使用Java和特定库,如iText,来完成这个任务。iText是一个强大的开源库,专门用于创建和修改PDF文档...

    java实现word表格指定位置盖印,并且设置印悬浮于文字之上,达到跟用实体印在A4纸上盖印一样的效果

    一旦印章图像准备完毕,我们需要将其转换为适合嵌入Word文档的格式,如JPEG或PNG。 接下来,我们需要找到Word文档中表格的指定位置。在Apache POI中,可以使用XWPFTable类代表Word中的表格,通过遍历表格的...

    java工具-文字转成图片

    本知识点主要聚焦于Java实现的一个实用功能——将文字转换为图片,这对于电子签名、验证码生成、文本保护等多种场景都非常有用。我们将深入探讨如何使用Java实现这个功能,以及涉及的相关技术和库。 首先,要将文字...

    java 给图片加文字,加二维码,并且以流的形式给前端展示

    在Java开发中,有时我们需要对图片进行处理,例如添加文字或二维码,然后将处理后的图片以流的形式传递给前端展示。这个过程涉及到多个技术点,包括图像处理、文件读取以及HTTP响应。以下是对这些知识点的详细解释:...

    EMF图片转为JPG/PNG

    EMF图片转为JPG/PNG 需安装GraphicsMagick 提供实例代码

    java 生成图片

    为了解析这样的配置文件,我们可以使用如Jackson或Gson这样的库来将JSON转换为Java对象。然后,使用这些对象创建`BufferedImage`实例,并通过`Graphics2D`进行绘图。以下是一个简化的示例代码: ```java import ...

    java 聊天室之 传送图片文字等功能的实现

    【标题】:“Java聊天室之传送图片文字等功能的实现” 这个标题揭示了我们将要探讨的是一个基于Java开发的聊天室应用程序,它具有发送文本消息以及传输图像等多媒体功能。在Java编程领域,创建一个聊天室涉及到网络...

    java实现将html转pdf,并在指定位置添加印章

    Java提供了一些库来实现这个功能,同时还能支持在生成的PDF上添加图像,例如电子印章。以下是对这个主题的详细阐述: 首先,我们需要一个能够处理HTML到PDF转换的库。Apache POI和Jsoup是处理HTML的库,但它们并不...

    C++将文本字符串转换成BMP图片

    本篇文章将深入探讨如何使用C++编程语言将文本字符串转换成BMP(Bitmap)图片。 首先,我们需要了解BMP文件格式。BMP是Windows操作系统中常见的位图文件格式,它存储的是未经压缩的像素数据,包括图像宽度、高度、...

    java:图片列表合并转pdf完整示例

    在Java编程环境中,将图片列表合并转换为PDF文档是一项常见的任务,特别是在报告生成、文档整理或数据可视化等场景。这个示例将详细讲解如何通过Java实现这一功能,包括必要的库引用、代码实现以及可能遇到的问题。 ...

    txt转pdf pdf转png png转pdf 图片水印 源代码

    - 图片水印是在图像上添加半透明的文字、图标或图形,用以表明所有权或保护版权。在转换过程中添加水印可能需要先加载原始图像,然后应用透明度调整和位置设置,最后将带有水印的图像保存为新的PDF或PNG文件。Java...

    OFD转换PDF、IMG、SVG、HTML工具JAR包

    图片转换: 通过对OFD的文档进行解析,采用java.awt绘制图片,支持转换为PNG、JPEG图片格式。 SVG矢量图形转换: 使用Apachebatik-transcoder提供的图形绘制实现java.awtAPI绘制,最终生成SVG矢量图形。 HTML转换...

    latex2png4java

    例如,在线教育平台、问答社区等,用户可能需要输入LaTeX公式,而这些平台通常会将LaTeX转换为PNG图片进行展示。 三、latex2png4java概述 latex2png4java是针对这种需求开发的一个Java工具,它可以将LaTeX表达式...

    java 长微博,文字&图片生成自定义图片

    "java 长微博,文字&图片生成自定义图片"这一主题聚焦于如何利用Java技术来创建包含文字和图片的个性化长微博图像。下面我们将深入探讨这一话题,讲解相关的知识点。 首先,Java提供了丰富的库来处理图像操作,其中...

    Android实现文字转图片

    在Android平台上,将文字转换为图片是一项常见的需求,例如用于社交媒体分享、应用内通知或个性化设计等场景。本文将详细讲解如何实现这个功能,包括设置文字的大小、字体、颜色、透明度,以及背景色、背景透明度,...

Global site tag (gtag.js) - Google Analytics