我正在尝试使用Java/Clojure生成一个映像,它主要由文本组成,使用带有opentype特性的自定义字体。我尝试使用Java中当前的OTF字体支持,甚至升级到oracle 8,并将TextAttribute连接设置为On,但没有帮助。有人能就什么是可能的提供建议吗。
注意,我需要确定字体大小,线高度和图像宽度的能力,所以我不确定是否可以在这种情况下使用TEX。
发布于 2015-11-17 04:14:29
我相信Java端的答案在这个SO question中得到了回答。但是我对Clojure做了一个翻译,因为java有点棘手。请注意,ImageIO/ gets采用的是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))) 发布于 2015-11-16 20:55:02
我知道OTF的知识,但是对于一个快速而肮脏的解决方案,如何使用幻影来生成PNG呢?如果您的项目可以将其作为依赖项,则可以使用本机解决方案。
我也发现了这个,也许有什么东西给你敲响了警钟:https://github.com/jfacorro/clojure-lab
编辑:你也可以使用.html:它是一个Java库,所以你可以在你的项目中使用它,或者如果创建图像是你的应用程序的主要目的,直接使用处理--一个快速创建处理图像的原型/应用程序的良好环境。
https://stackoverflow.com/questions/33725486
复制相似问题