@@ -240,16 +240,16 @@ MagickExport MagickBooleanType AnnotateImage(Image *image,
240240 RectangleInfo
241241 geometry ;
242242
243+ size_t
244+ height ,
245+ number_lines ;
246+
243247 ssize_t
244248 i ;
245249
246250 TypeMetric
247251 metrics ;
248252
249- size_t
250- height ,
251- number_lines ;
252-
253253 assert (image != (Image * ) NULL );
254254 assert (image -> signature == MagickCoreSignature );
255255 if (IsEventLogging () != MagickFalse )
@@ -345,9 +345,9 @@ MagickExport MagickBooleanType AnnotateImage(Image *image,
345345 offset .x = (geometry .width == 0 ? -1.0 : 1.0 )* annotate_info -> affine .tx + i *
346346 annotate_info -> affine .ry * height + annotate_info -> affine .ry *
347347 (metrics .ascent + metrics .descent );
348- offset .y = (geometry .height == 0 ? -1.0 : 1.0 )* annotate_info -> affine .ty + i *
349- annotate_info -> affine . sy * height + annotate_info -> affine .sy *
350- metrics .ascent ;
348+ offset .y = (geometry .height == 0 ? -1.0 : 1.0 )* annotate_info -> affine .ty +
349+ ( metrics . bounds . y2 - metrics . ascent ) + i * annotate_info -> affine .sy * height +
350+ annotate_info -> affine . sy * metrics .ascent ;
351351 break ;
352352 }
353353 case (GravityType ) NorthGravity :
@@ -356,9 +356,10 @@ MagickExport MagickBooleanType AnnotateImage(Image *image,
356356 geometry .width /2.0 + i * annotate_info -> affine .ry * height -
357357 annotate_info -> affine .sx * metrics .width /2.0 + annotate_info -> affine .ry *
358358 (metrics .ascent + metrics .descent );
359- offset .y = (geometry .height == 0 ? -1.0 : 1.0 )* annotate_info -> affine .ty + i *
360- annotate_info -> affine .sy * height + annotate_info -> affine .sy *
361- metrics .ascent - annotate_info -> affine .rx * metrics .width /2.0 ;
359+ offset .y = (geometry .height == 0 ? -1.0 : 1.0 )* annotate_info -> affine .ty +
360+ (metrics .bounds .y2 - metrics .ascent )+ i * annotate_info -> affine .sy * height +
361+ annotate_info -> affine .sy * metrics .ascent - annotate_info -> affine .rx *
362+ metrics .width /2.0 ;
362363 break ;
363364 }
364365 case (GravityType ) NorthEastGravity :
@@ -367,9 +368,10 @@ MagickExport MagickBooleanType AnnotateImage(Image *image,
367368 geometry .width + i * annotate_info -> affine .ry * height -
368369 annotate_info -> affine .sx * metrics .width + annotate_info -> affine .ry *
369370 (metrics .ascent + metrics .descent )- 1.0 ;
370- offset .y = (geometry .height == 0 ? -1.0 : 1.0 )* annotate_info -> affine .ty + i *
371- annotate_info -> affine .sy * height + annotate_info -> affine .sy *
372- metrics .ascent - annotate_info -> affine .rx * metrics .width ;
371+ offset .y = (geometry .height == 0 ? -1.0 : 1.0 )* annotate_info -> affine .ty +
372+ (metrics .bounds .y2 - metrics .ascent )+ i * annotate_info -> affine .sy * height +
373+ annotate_info -> affine .sy * metrics .ascent - annotate_info -> affine .rx *
374+ metrics .width ;
373375 break ;
374376 }
375377 case (GravityType ) WestGravity :
0 commit comments