我实际上是在使用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。以上实际上工作正常。它会将文本放在图像的中心,但我不想指定字体大小,我不希望文本位于图像的中心。
理想情况下,我希望文本位于图像的底部,并且想象一下根据它必须使用的大小来选择最佳字体大小。我知道这在某种程度上是可能的,我已经接近了,但是我无法深究这一点。