在 C#/VB 中使用 ImageMagick 水平居中注释但垂直设置位置

Using ImageMagick in C#/VB To Center Annotate Horizontally but Set Position Vertically

我正在使用 ImageMagick 向图像添加文本,我需要该文本水平居中,但我还希望能够设置垂直位置。我的代码有效但将文本放置在 canvas 边缘左侧 50 像素处是:

        'This adds the address text block
        image.Settings.FillColor = MagickColors.Transparent
        image.Settings.StrokeColor = MagickColors.Transparent
        image.Settings.FontPointsize = 195
        image.Annotate("508 West Earl Street", New MagickGeometry(50, 300, 150, 75), Gravity.Undefined, 0)

我需要代码将它水平居中并使其垂直距离顶部 300 像素;类似下面的内容,但我不知道用什么来代替 X 坐标以使其居中。

        'This adds the address text block and should center it.
        image.Settings.FillColor = MagickColors.Transparent
        image.Settings.StrokeColor = MagickColors.Transparent
        image.Settings.FontPointsize = 195
        image.Annotate("508 West Earl Street", New MagickGeometry('This Value Needs to Center it', 300, 150, 75), Gravity.Undefined, 0)

如果您有图片的宽度,请将其分成两半。您还可以将 gravity 属性 设置为 center 以居中对齐您的文本。您的注释代码应如下所示:

image.Annotate("508 West Earl Street", New MagickGeometry(image.width/2, 300, 150, 75), Gravity.Center, 0)

Source