% Read/Write Encapsulated Postscript Format (with preview). %
% %
% Software Design %
-% John Cristy %
+% Cristy %
% July 1992 %
% %
% %
-% Copyright 1999-2011 ImageMagick Studio LLC, a non-profit organization %
+% Copyright 1999-2015 ImageMagick Studio LLC, a non-profit organization %
% dedicated to making software imaging solutions freely available. %
% %
% You may not use this file except in compliance with the License. You may %
Forward declarations.
*/
static MagickBooleanType
- WriteEPTImage(const ImageInfo *,Image *);
+ WriteEPTImage(const ImageInfo *,Image *,ExceptionInfo *);
\f
/*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
image_info->filename);
assert(exception != (ExceptionInfo *) NULL);
assert(exception->signature == MagickSignature);
- image=AcquireImage(image_info);
+ image=AcquireImage(image_info,exception);
status=OpenBlob(image_info,image,ReadBinaryBlobMode,exception);
if (status == MagickFalse)
{
}
read_info=DestroyImageInfo(read_info);
if (image != (Image *) NULL)
- (void) CopyMagickString(image->filename,image_info->filename,MaxTextExtent);
+ {
+ (void) CopyMagickString(image->filename,image_info->filename,
+ MaxTextExtent);
+ (void) CopyMagickString(image->magick,"EPT",MaxTextExtent);
+ }
ept_info.tiff=(unsigned char *) RelinquishMagickMemory(ept_info.tiff);
ept_info.postscript=(unsigned char *) RelinquishMagickMemory(
ept_info.postscript);
entry->decoder=(DecodeImageHandler *) ReadEPTImage;
entry->encoder=(EncodeImageHandler *) WriteEPTImage;
entry->magick=(IsImageFormatHandler *) IsEPT;
- entry->seekable_stream=MagickTrue;
- entry->adjoin=MagickFalse;
- entry->blob_support=MagickFalse;
+ entry->flags|=CoderSeekableStreamFlag;
+ entry->flags^=CoderAdjoinFlag;
+ entry->flags^=CoderBlobSupportFlag;
entry->description=ConstantString(
"Encapsulated PostScript with TIFF preview");
entry->module=ConstantString("EPT");
entry->decoder=(DecodeImageHandler *) ReadEPTImage;
entry->encoder=(EncodeImageHandler *) WriteEPTImage;
entry->magick=(IsImageFormatHandler *) IsEPT;
- entry->adjoin=MagickFalse;
- entry->seekable_stream=MagickTrue;
- entry->blob_support=MagickFalse;
+ entry->flags^=CoderAdjoinFlag;
+ entry->flags|=CoderSeekableStreamFlag;
+ entry->flags^=CoderBlobSupportFlag;
entry->description=ConstantString(
"Encapsulated PostScript Level II with TIFF preview");
entry->module=ConstantString("EPT");
entry->decoder=(DecodeImageHandler *) ReadEPTImage;
entry->encoder=(EncodeImageHandler *) WriteEPTImage;
entry->magick=(IsImageFormatHandler *) IsEPT;
- entry->seekable_stream=MagickTrue;
- entry->blob_support=MagickFalse;
+ entry->flags|=CoderSeekableStreamFlag;
+ entry->flags^=CoderBlobSupportFlag;
entry->description=ConstantString(
"Encapsulated PostScript Level III with TIFF preview");
entry->module=ConstantString("EPT");
%
% The format of the WriteEPTImage method is:
%
-% MagickBooleanType WriteEPTImage(const ImageInfo *image_info,Image *image)
+% MagickBooleanType WriteEPTImage(const ImageInfo *image_info,
+% Image *image,ExceptionInfo *exception)
%
% A description of each parameter follows.
%
%
% o image: The image.
%
+% o exception: return any errors or warnings in this structure.
+%
*/
-static MagickBooleanType WriteEPTImage(const ImageInfo *image_info,Image *image)
+static MagickBooleanType WriteEPTImage(const ImageInfo *image_info,Image *image,
+ ExceptionInfo *exception)
{
char
filename[MaxTextExtent];
assert(image->signature == MagickSignature);
if (image->debug != MagickFalse)
(void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename);
- status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception);
+ assert(exception != (ExceptionInfo *) NULL);
+ assert(exception->signature == MagickSignature);
+ status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception);
if (status == MagickFalse)
return(status);
- write_image=CloneImage(image,0,0,MagickTrue,&image->exception);
+ write_image=CloneImage(image,0,0,MagickTrue,exception);
if (write_image == (Image *) NULL)
return(MagickFalse);
write_info=CloneImageInfo(image_info);
+ *write_info->magick='\0';
(void) CopyMagickString(write_info->magick,"EPS",MaxTextExtent);
if (LocaleCompare(image_info->magick,"EPT2") == 0)
(void) CopyMagickString(write_info->magick,"EPS2",MaxTextExtent);
(void) ResetMagickMemory(&ept_info,0,sizeof(ept_info));
ept_info.magick=0xc6d3d0c5ul;
ept_info.postscript=(unsigned char *) ImageToBlob(write_info,write_image,
- &ept_info.postscript_length,&image->exception);
+ &ept_info.postscript_length,exception);
write_image=DestroyImage(write_image);
write_info=DestroyImageInfo(write_info);
if (ept_info.postscript == (void *) NULL)
return(MagickFalse);
- write_image=CloneImage(image,0,0,MagickTrue,&image->exception);
+ write_image=CloneImage(image,0,0,MagickTrue,exception);
if (write_image == (Image *) NULL)
return(MagickFalse);
write_info=CloneImageInfo(image_info);
+ *write_info->magick='\0';
(void) CopyMagickString(write_info->magick,"TIFF",MaxTextExtent);
(void) FormatLocaleString(filename,MaxTextExtent,"tiff:%s",
write_info->filename);
(void) CopyMagickString(write_info->filename,filename,MaxTextExtent);
- (void) TransformImage(&write_image,(char *) NULL,"512x512>");
+ (void) TransformImage(&write_image,(char *) NULL,"512x512>",exception);
if ((write_image->storage_class == DirectClass) ||
(write_image->colors > 256))
{
EPT preview requires that the image is colormapped.
*/
GetQuantizeInfo(&quantize_info);
- quantize_info.dither=IsPaletteImage(write_image,&image->exception) ==
- MagickFalse ? MagickTrue : MagickFalse;
- (void) QuantizeImage(&quantize_info,write_image);
+ quantize_info.dither_method=IsPaletteImage(write_image,exception) ==
+ MagickFalse ? RiemersmaDitherMethod : NoDitherMethod;
+ (void) QuantizeImage(&quantize_info,write_image,exception);
}
write_info->compression=NoCompression;
ept_info.tiff=(unsigned char *) ImageToBlob(write_info,write_image,
- &ept_info.tiff_length,&image->exception);
+ &ept_info.tiff_length,exception);
write_image=DestroyImage(write_image);
write_info=DestroyImageInfo(write_info);
if (ept_info.tiff == (void *) NULL)