From 74f82a6c98830fd2db431cc6eb60a3d4e7cc7d3c Mon Sep 17 00:00:00 2001 From: cristy Date: Thu, 19 Aug 2010 22:24:53 +0000 Subject: [PATCH] --- magick/constitute.c | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/magick/constitute.c b/magick/constitute.c index 393b53bc3..54d925727 100644 --- a/magick/constitute.c +++ b/magick/constitute.c @@ -627,6 +627,7 @@ MagickExport Image *ReadImage(const ImageInfo *image_info, timestamp[MaxTextExtent]; const StringInfo + *option, *profile; next->taint=MagickFalse; @@ -771,6 +772,34 @@ MagickExport Image *ReadImage(const ImageInfo *image_info, (void) FormatMagickTime(GetBlobProperties(next)->st_ctime,MaxTextExtent, timestamp); (void) SetImageProperty(next,"date:create",timestamp); + option=GetImageOption(image_info,"delay"); + if (option != (const char *) NULL) + { + GeometryInfo + geometry_info; + + flags=ParseGeometry(option,&geometry_info); + if ((flags & GreaterValue) != 0) + { + if (image->delay > (size_t) floor(geometry_info.rho+0.5)) + image->delay=(size_t) floor(geometry_info.rho+0.5); + } + else + if ((flags & LessValue) != 0) + { + if (image->delay < (size_t) floor(geometry_info.rho+0.5)) + image->ticks_per_second=(ssize_t) floor(geometry_info.sigma+ + 0.5); + } + else + image->delay=(size_t) floor(geometry_info.rho+0.5); + if ((flags & SigmaValue) != 0) + image->ticks_per_second=(ssize_t) floor(geometry_info.sigma+0.5); + } + option=GetImageOption(image_info,"dispose"); + if (option != (const char *) NULL) + image->dispose=(DisposeType) ParseMagickOption(MagickDisposeOptions, + MagickFalse,option); if (read_info->verbose != MagickFalse) (void) IdentifyImage(next,stderr,MagickFalse); image=next; -- 2.40.0