From 5d2844d8a135daef9e5bde8bc16b0871c5f1baa2 Mon Sep 17 00:00:00 2001 From: cristy Date: Wed, 18 Feb 2015 18:32:17 +0000 Subject: [PATCH] --- coders/caption.c | 5 ++++- coders/label.c | 14 ++++++++------ 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/coders/caption.c b/coders/caption.c index a5ccc5cdc..94494b90d 100644 --- a/coders/caption.c +++ b/coders/caption.c @@ -269,7 +269,10 @@ static Image *ReadCAPTIONImage(const ImageInfo *image_info, status=GetMultilineTypeMetrics(image,draw_info,&metrics,exception); if ((draw_info->gravity != UndefinedGravity) && (draw_info->direction != RightToLeftDirection)) - image->page.x=(ssize_t) (metrics.bounds.x1-draw_info->stroke_width/2.0); + { + image->page.x=(ssize_t) (metrics.bounds.x1-draw_info->stroke_width/2.0); + image->page.y+=(ssize_t) (metrics.bounds.y2-metrics.ascent); + } else { (void) FormatLocaleString(geometry,MaxTextExtent,"%+g%+g", diff --git a/coders/label.c b/coders/label.c index e9986457b..be0ec0cc7 100644 --- a/coders/label.c +++ b/coders/label.c @@ -214,20 +214,22 @@ static Image *ReadLABELImage(const ImageInfo *image_info, status=SetImageExtent(image,image->columns,image->rows,exception); if (status == MagickFalse) return(DestroyImageList(image)); - if (draw_info->gravity == UndefinedGravity) + if ((draw_info->gravity != UndefinedGravity) && + (draw_info->direction != RightToLeftDirection)) + { + image->page.x=(ssize_t) (metrics.bounds.x1-draw_info->stroke_width/2.0); + image->page.y+=(ssize_t) (metrics.bounds.y2-metrics.ascent); + } + else { (void) FormatLocaleString(geometry,MaxTextExtent,"%+g%+g", -metrics.bounds.x1+draw_info->stroke_width/2.0,metrics.bounds.y2+ draw_info->stroke_width/2.0); - (void) CloneString(&draw_info->geometry,geometry); - } - if (draw_info->direction == RightToLeftDirection) - { if (draw_info->direction == RightToLeftDirection) (void) FormatLocaleString(geometry,MaxTextExtent,"%+g%+g", image->columns-(metrics.bounds.x2+draw_info->stroke_width/2.0), metrics.bounds.y2+draw_info->stroke_width/2.0); - (void) CloneString(&draw_info->geometry,geometry); + draw_info->geometry=AcquireString(geometry); } if (SetImageBackgroundColor(image,exception) == MagickFalse) { -- 2.40.0