在 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)
我正在使用 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)