You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
72 lines
1.7 KiB
72 lines
1.7 KiB
#include <stdio.h>
|
|
#include <MagickWand/MagickWand.h>
|
|
|
|
/* Simplify the exception handling
|
|
* technically we should abort the program if
|
|
* severity >= ErrorException
|
|
*/
|
|
void ThrowWandException(MagickWand *wand)
|
|
{ char
|
|
*description;
|
|
|
|
ExceptionType
|
|
severity;
|
|
|
|
description=MagickGetException(wand,&severity);
|
|
(void) fprintf(stderr,"%s %s %lu %s\n",GetMagickModule(),description);
|
|
description=(char *) MagickRelinquishMemory(description);
|
|
}
|
|
|
|
/* useful function especially after appending two wands together */
|
|
#define SwapWands(a,b) { MagickWand *tmp=a; a=b; b=tmp; }
|
|
|
|
int main(int argc, char *argv[])
|
|
{
|
|
MagickWand
|
|
*wand,
|
|
*output;
|
|
|
|
MagickBooleanType
|
|
status;
|
|
|
|
printf("Check append when using 'LastIterator' on empty wand\n");
|
|
printf("Result shoud be: 0123\n");
|
|
|
|
MagickWandGenesis();
|
|
|
|
wand = NewMagickWand();
|
|
|
|
MagickSetLastIterator(wand); /* to empty wand */
|
|
|
|
status = MagickReadImage(wand, "font_0.gif" );
|
|
if (status == MagickFalse)
|
|
ThrowWandException(wand);
|
|
|
|
status = MagickReadImage(wand, "font_1.gif" );
|
|
if (status == MagickFalse)
|
|
ThrowWandException(wand);
|
|
|
|
status = MagickReadImage(wand, "font_2.gif" );
|
|
if (status == MagickFalse)
|
|
ThrowWandException(wand);
|
|
|
|
status = MagickReadImage(wand, "font_3.gif" );
|
|
if (status == MagickFalse)
|
|
ThrowWandException(wand);
|
|
|
|
/* append all images together to create the output wand */
|
|
MagickResetIterator(wand); /* append all images */
|
|
output = MagickAppendImages(wand,MagickFalse);
|
|
wand = DestroyMagickWand(wand); /* finished - could swap here */
|
|
|
|
/* Final output */
|
|
status = MagickWriteImage(output,"show:");
|
|
if (status == MagickFalse)
|
|
ThrowWandException(output);
|
|
|
|
output = DestroyMagickWand(output);
|
|
|
|
MagickWandTerminus();
|
|
}
|
|
|