GraphicsMagick和FontMetrics

时间:2015-06-25 14:13:11

标签: graphicsmagick fontmetrics

我的目标是创建一个文本图像并将其置于其他图像之上。这是我用来创建文本图像的命令:

    String[] cp_img_arguments = {"convert",
            "-size", width_size + "x",
            "-background", background_colour,
            "-pointsize", pointsize.toString(),
            "-font", font_path,
            "-fill",text_colour,
            "caption:" + text,
            destination};

为了计算我需要的图像大小,我使用这样的FontsMetrics:

    Font font = new Font(fontName, Font.PLAIN, pointsize);
    Canvas canvas = new Canvas();
    fontMetrics = canvas.getFontMetrics(font);
    width_size = fontMetrics.stringWidth(toString());

虽然我经常使用文本截断或多行生成图像,这意味着我计算的宽度实际上不足以用于文本。 该字体来自.ttf文件。我相信这个错误计算是因为GraphicsMagick中的密度/ DPI参数而发生的。我目前没有使用它(我相信默认值为55),但我想知道与FontMetrics计算的相比,它会如何影响实际的字体大小。

有没有人有使用gm生成带文字图像的经验?任何想法如何使图像尺寸计算更准确?

0 个答案:

没有答案