aboutsummaryrefslogtreecommitdiff
path: root/imagegrid/magickconverter.c
diff options
context:
space:
mode:
Diffstat (limited to 'imagegrid/magickconverter.c')
-rw-r--r--imagegrid/magickconverter.c52
1 files changed, 52 insertions, 0 deletions
diff --git a/imagegrid/magickconverter.c b/imagegrid/magickconverter.c
new file mode 100644
index 0000000..d553e27
--- /dev/null
+++ b/imagegrid/magickconverter.c
@@ -0,0 +1,52 @@
+#include "magickconverter.h"
+
+void convertir(pathimage pathFitxer, tipus_format f, int W, int H, int posi){
+
+ MagickBooleanType
+ status;
+ MagickWand
+ *magick_wand;
+ pathimage ig_path = PATH_TEMPORAL;
+ char posi_str[BYTES_NUM_TEMP];
+
+ /*printf("\nEl path %s i el format %s\n",pathFitxer,f);*/
+
+ /*
+ Read an image.
+ */
+ MagickWandGenesis();
+ magick_wand=NewMagickWand();
+ status=MagickReadImage(magick_wand,pathFitxer);
+ if (status == MagickFalse)
+ ThrowWandException(magick_wand);
+ /*
+ Turn the images into a thumbnail sequence.
+ */
+ MagickResetIterator(magick_wand);
+ while (MagickNextImage(magick_wand) != MagickFalse)
+ MagickResizeImage(magick_wand,W,H,LanczosFilter,1.0);
+ /*
+ Write the image as 'f' and destroy it.
+ */
+ sprintf(posi_str, "%d", posi);
+ strcat(ig_path,posi_str);
+ strcat(ig_path,".");
+ strcat(ig_path,f);
+
+ /* printf("\nEl nou path %s i el format %s\n",ig_path,f); */
+ status=MagickWriteImages(magick_wand,ig_path,MagickTrue);
+ if (status == MagickFalse)
+ ThrowWandException(magick_wand);
+ magick_wand=DestroyMagickWand(magick_wand);
+ MagickWandTerminus();
+}
+
+/*
+int main(void){
+ pathimage imatge = "/usr/lib/pd/extra/imagegrid/gifpmmimages/3160x120.gif";
+ format fo = "ppm";
+ int numi = 1;
+ convertir(imatge,fo,60,40,1);
+ return(0);
+}
+*/