extent=(MagickSizeType) SiPrefixToDoubleInterval(option,100.0);
(void) DeleteImageOption(jpeg_info,"jpeg:extent");
(void) DeleteImageArtifact(jpeg_image,"jpeg:extent");
- (void) AcquireUniqueFilename(jpeg_image->filename);
maximum=101;
for (minimum=2; minimum < maximum; )
{
- jpeg_info->quality=minimum+(maximum-minimum+1)/2;
+ (void) AcquireUniqueFilename(jpeg_image->filename);
+ jpeg_image->quality=minimum+(maximum-minimum+1)/2;
status=WriteJPEGImage(jpeg_info,jpeg_image,exception);
if (GetBlobSize(jpeg_image) <= extent)
- minimum=jpeg_info->quality+1;
+ minimum=jpeg_image->quality+1;
else
- maximum=jpeg_info->quality-1;
+ maximum=jpeg_image->quality-1;
+ (void) RelinquishUniqueFileResource(jpeg_image->filename);
}
- (void) RelinquishUniqueFileResource(jpeg_image->filename);
quality=minimum-1;
jpeg_image=DestroyImage(jpeg_image);
}