]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Wed, 9 Sep 2009 01:52:06 +0000 (01:52 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Wed, 9 Sep 2009 01:52:06 +0000 (01:52 +0000)
magick/annotate.c

index 2890ab995b3846b2be9f9c4a533439f7fbbc6d75..0ca8124ae3ffaee178c3be28f43f4b21ed9aa1b1 100644 (file)
@@ -164,9 +164,6 @@ MagickExport MagickBooleanType AnnotateImage(Image *image,
     primitive[MaxTextExtent],
     **textlist;
 
-  double
-    height;
-
   DrawInfo
     *annotate,
     *annotate_info;
@@ -193,6 +190,7 @@ MagickExport MagickBooleanType AnnotateImage(Image *image,
     metrics;
 
   unsigned long
+    height,
     number_lines;
 
   assert(image != (Image *) NULL);
@@ -235,9 +233,8 @@ MagickExport MagickBooleanType AnnotateImage(Image *image,
     annotate_info->affine.ty=geometry_info.psi-image->page.y;
     (void) CloneString(&annotate->text,textlist[i]);
     (void) GetTypeMetrics(image,annotate,&metrics);
-    height=metrics.height;
-    if (draw_info->interline_spacing != 0.0)
-      height+=draw_info->interline_spacing;
+    height=(long) (metrics.ascent-metrics.descent+
+      draw_info->interline_spacing+0.5);
     switch (annotate->gravity)
     {
       case UndefinedGravity:
@@ -397,7 +394,7 @@ MagickExport MagickBooleanType AnnotateImage(Image *image,
         undercolor_info->affine.tx=offset.x-draw_info->affine.ry*metrics.ascent;
         undercolor_info->affine.ty=offset.y-draw_info->affine.sy*metrics.ascent;
         (void) FormatMagickString(primitive,MaxTextExtent,
-          "rectangle 0,0 %g,%g",metrics.origin.x,height);
+          "rectangle 0,0 %g,%lu",metrics.origin.x,height);
         (void) CloneString(&undercolor_info->primitive,primitive);
         (void) DrawImage(image,undercolor_info);
         (void) DestroyDrawInfo(undercolor_info);
@@ -654,7 +651,7 @@ MagickExport MagickBooleanType GetMultilineTypeMetrics(Image *image,
   }
   number_lines=(unsigned long) i;
   metrics->height=(double) number_lines*(long) (metrics->ascent-
-    metrics->descent+0.5);
+    metrics->descent+draw_info->interline_spacing+0.5);
   /*
     Relinquish resources.
   */
@@ -1926,7 +1923,8 @@ static MagickBooleanType RenderX11(Image *image,const DrawInfo *draw_info,
     }
   (void) FormatMagickString(annotate_info.geometry,MaxTextExtent,
     "%lux%lu+%ld+%ld",width,height,(long) (offset->x+0.5),
-    (long) (offset->y-metrics->ascent-metrics->descent+0.5));
+    (long) (offset->y-metrics->ascent-metrics->descent+
+    draw_info->interline_spacing+0.5));
   pixel.pen_color.red=ScaleQuantumToShort(draw_info->fill.red);
   pixel.pen_color.green=ScaleQuantumToShort(draw_info->fill.green);
   pixel.pen_color.blue=ScaleQuantumToShort(draw_info->fill.blue);