gpt4 book ai didi

java - 在 Java/Clojure 中生成包含使用 OpenType 功能的文本的图像

转载 作者:行者123 更新时间:2023-11-30 08:44:35 25 4
gpt4 key购买 nike

我正在尝试使用 Java/Clojure 生成图像,该图像主要由使用具有 opentype 功能的自定义字体的文本组成。我曾尝试在 Java 中使用当前的 OTF 字体支持,甚至升级到 oracle Java 8 并将 TextAttribute Ligatures 设置为 On 但无济于事。任何人都可以提供有关可能的建议。

注意我需要确定字体大小、行高和图像宽度的能力,所以我不确定在那种情况下是否可以使用 TEX。

最佳答案

我相信 Java 方面的答案已在 SO question 中得到解答.但是我做了 Clojure 的翻译,因为 java interop 有点棘手。请注意,ImageIO/write 采用 BufferedImage 实例而不是 Graphics2D,在整个程序中 image 使用 Graphics2D 的实例进行变异。

(ns so-33725486.core
(:import [java.awt Graphics2D Color Font]
[java.awt.image BufferedImage]
[javax.imageio ImageIO]
[java.io File]))

(defn str->img [string filename]
(let [file (File. (str "./" filename ".png"))
width 250
height 100
image (BufferedImage. width height BufferedImage/TYPE_INT_ARGB)
graphics (.createGraphics image)
font-size 30
font (Font. "TimesRoman" Font/BOLD font-size)]
(.setColor graphics Color/BLACK)
(.setFont graphics font)
(.drawString graphics string 10 25)
(ImageIO/write image "png" file)))

关于java - 在 Java/Clojure 中生成包含使用 OpenType 功能的文本的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33725486/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com