【问题标题】:ImageMagick - Text into rectangleImageMagick - 文本变成矩形
【发布时间】:2012-08-27 05:34:50
【问题描述】:

我对 ImageMagick 很陌生 - 我已经阅读了一些文档,现在我来到了第一个真实世界的情况。我有图像(300 * 500),并且我有一些文本需要尽可能地(最大可能)适合最顶部图像的 20%。所以文本必须在 300*100 矩形中,图像的其余部分保持不变。这甚至可以通过图像魔术实现吗?最好的方法是什么

我正在寻找命令行或 php 扩展解决方案。 下面的简单图解

【问题讨论】:

    标签: php image-processing imagemagick


    【解决方案1】:

    由于您没有提供用于测试和应用一些文本的示例图像,因此我使用以下命令创建了一个:

    convert                               \
       http://i.stack.imgur.com/RfJG6.png \
      -crop 312x513+579+0 +repage         \
       so#12231624-right.png
    

    使用生成的图像作为输入,运行以下三个命令以查看其工作原理(在 Linux 或 Mac OS X 上):

    width=$(identify -format %W so#12231624-right.png)
    
    convert                  \
      -background '#0008'    \
      -gravity center        \
      -fill white            \
      -size ${width}x100     \
       caption:"This is a sample text to test \
    the automatic sizing of fonts by ImageMagick." \
       so#12231624-right.png \
     +swap                   \
     -gravity north          \
     -composite              \
      output1.png
    
    convert                  \
      -background '#0008'    \
      -gravity center        \
      -fill white            \
      -size ${width}x100     \
       caption:"This is a even longer sample text. \
    It also serves to test if automatic sizing of fonts \
    by ImageMagick works as expected: just don't specify \
    any fontsize, and let ImageMagick go for the best fit..." \
       so#12231624-right.png \
     +swap                   \
     -gravity north          \
     -composite              \
      output2.png
    

    生成的图像:

    (输出与您给定的帧不完全匹配——但这只是因为我的测试文件仍然有一个白色的、未填充的边框(作为图像的一部分),我没有费心去删除它......)

    换句话说:不要费心使用-fontsize 指定任何字体大小。只给出应该有文本注释的区域的大小。然后 ImageMagick 会自动选择最匹配的字体大小并使用它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多