如何使用C或Go中的imagick将文本叠加到图像上?

时间:2014-04-25 12:23:09

标签: c image text go imagick

我实际上是在使用Go bindings进行想象。在线没有专门针对此的文档,但是我可以阅读C文档,在某些情况下甚至可以阅读PHP文档;他们都相当相似。

我想使用AnnotateImage方法,它目前有效:

c.magickWand.ReadImage("example.jpg")
c.magickWand.SetImageMatte(false)
c.drawingWand.SetFont(c.font)

//c.drawingWand.SetFontSize(c.fontSize)

c.pixelWand.SetColor("black")
c.drawingWand.SetFillColor(c.pixelWand)

c.drawingWand.SetGravity(imagick.GRAVITY_CENTER)
c.magickWand.AnnotateImage(c.drawingWand, 0, 0, 0, "This is my text!")
c.magickWand.WriteImage(c.newImageName)

所以我的代码到目前为止看起来有点像上面的

这就是Go,但方法名在C中几乎相同,在某些情况下是PHP。以上实际上工作正常。它会将文本放在图像的中心,但我不想指定字体大小,我不希望文本位于图像的中心。

理想情况下,我希望文本位于图像的底部,并且想象一下根据它必须使用的大小来选择最佳字体大小。我知道这在某种程度上是可能的,我已经接近了,但是我无法深究这一点。

0 个答案:

没有答案