diff options
| -rw-r--r-- | cpetpet.c | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/cpetpet.c b/cpetpet.c index 5ed1cdf..fe6234b 100644 --- a/cpetpet.c +++ b/cpetpet.c @@ -11,11 +11,23 @@ #include "config.h" +static char *gifs[] = { + SHAREDIR "/pet0.gif", + SHAREDIR "/pet1.gif", + SHAREDIR "/pet2.gif", + SHAREDIR "/pet3.gif", + SHAREDIR "/pet4.gif", + SHAREDIR "/pet5.gif", + SHAREDIR "/pet6.gif", + SHAREDIR "/pet7.gif", + SHAREDIR "/pet8.gif", + SHAREDIR "/pet9.gif", +}; + void CPetPet(const char *in, const char *out, const size_t delay) { MagickWand *result, *concat, *hand, *avatar, *edited; PixelWand *empty; - char filenamebuf[128]; double squeeze; double width, height; double offset_x, offset_y; @@ -44,14 +56,13 @@ void CPetPet(const char *in, const char *out, const size_t delay) height = 0.8 - squeeze * 0.05; offset_x = (1 - width) * 0.5 + 0.1; offset_y = (1 - height) - 0.08; - snprintf(filenamebuf, sizeof(filenamebuf), SHAREDIR "/pet%d.gif", i); edited = CloneMagickWand(avatar); MagickNewImage(concat, MagickGetImageWidth(avatar), MagickGetImageHeight(avatar), empty); MagickSetImageDispose(concat, BackgroundDispose); MagickSetImageDelay(concat, delay); MagickResizeImage(edited, (double)MagickGetImageWidth(avatar)*width, (double)MagickGetImageHeight(avatar)*height, Lanczos2Filter); - MagickReadImage(hand, filenamebuf); + MagickReadImage(hand, gifs[i]); MagickCompositeImage(concat, edited, OverCompositeOp, MagickTrue, MagickGetImageWidth(concat)*offset_x, MagickGetImageHeight(concat)*offset_y); MagickCompositeImage(concat, hand, OverCompositeOp, MagickTrue, 0, 0); |