Ayant pas mal galéré pour installer et utiliser imagemagick et sa librairie C "magickcore" sous linux, et pour les utiliser avec un IDE autre que la bonne vieille ligne de commande linuxienne, je me permets de poster un petit tutoriel pour ceux que ca intéresserait.
Imagemagick (un ensemble d'outils de traitement d'images utilisables en ligne de commande, en C, C++, Java, etc...) gagnerait en effet a être utilisée, notamment du fait de sa simplicité d'utilisation en C via la librairie magickcore. Hélas, le peu de documentation claire que l'on trouve à son sujet, pourrait en décourager plus d'un, et l'installer n'est pas vraiment une mince affaire...
Voici donc le ptit tuto en question (ici, testé avec Code::blocks et Eclipse). J'espère ne rien oublier... N'hésitez pas à émettre des remarques et commentaires si besoin :
1) installer l'IDE de son choix (Pour code::blocks : cfr le tuto de developpez.com ou ce lien; pour Eclipse, cfr ce lien et google pour le plugin CDT pour programmer en C/C++).
2) installer Imagemagick à partir des sources unix (avec le terminal linux, nécessite d'être l'administrateur (sudo)), comme indiqué sur le site officiel.
ATTENTION : avant de lancer le make, vérifier les paramètres renvoyés à la fin de l'exécution du ./configure. C'est la que sont indiqués les différents paramètres d'installation, et notamment les formats d'images qui vont être pris en charge par Imagemagick.
Il se peut que certains paquets relatifs à différents formats d'images soient nécessaires avant de poursuivre l'installation. S'il est marqué "no" à côté d'un des formats d'images (par exemple, JPEG ou PNG) que vous voulez utiliser, il faut relancer le configure avec l'option adéquate pour activer la reconnaissance de ce format d'image par Imagemagick (par exemple ajouter l'option "--with-jpeg=yes" pour le JPEG, ce qui donne la commande "./configure --with-jpeg=yes"). Si l'utilisation de cette option ne change rien au rapport du configure, il faut télécharger le paquet .dev relatif au format d'image souhaité, via le gestionnaire de paquets synaptic. Pour exemple, le paquet pour png s'appelle libpngXX-dev et celui de jpeg : libjpegXX-dev,... où le XX correspond à la version du paquet.
Après avoir téléchargé le paquet en question, réexécuter le ./configure avec la/les options voulues.
3) après avoir utilisé la commande ./configure avec les options souhaitées, continuer l'installation indiquée sur le site officiel (jusqu'au "make install").
4) encore via gestionnaire synaptic, installer le paquet libmagickX-dev (X = n° de version). Voila ! Imagemagick est (enfin) installé !
Vous pouvez à présent utiliser Imagemagick et notamment la librairie magickcore en commande linux. Vous pouvez également programmer en C/C++ en invoquant le compilateur gcc via cette même ligne de commande (cfr l'exemple et la commande à utiliser indiqués sur cette page.).
Comme il peut s'avérer plus pratique d'utiliser un IDE plutôt que le terminal linux, voici la démarche à suivre pour utiliser magickcore sous code::blocks et Eclipse.
Pour code::blocks :
1) Aller dans "Settings->Compiler and Debugger
2) sous l'onglet "Compiler Settings", aller dans "Other options", et copier la ligne suivante (cfr figure) :
`MagickCore-config --cflags --cppflags`
3) sous l'onglet "Linker settings", copier la commande suivante dans "Other linker options" (cfr figure) :
`MagickCore-config --ldflags --libs`
ATTENTION ! les symboles " ` " ne correspondent pas à une simple apostrophe, mais à une apostrophe oblique présente sur une autre touche du clavier ! Il est important d'utiliser ce symbole sinon la compilation plantera.
Voila pour la compilation sous code::blocks ! N'oubliez pas d'inclure un petit #include <magick/MagickCore.h> la où vous désirez utiliser les méthodes de magickcore
Pour Eclipse
1) Aller dans "Project->Properties"
2) Dans la colonne de gauche, cliquer sur "C/C++ Build"
3) Dans l'onglet "Tool Settings", cliquer sur "GCC/C compiler"
4) dans l'invite de commande "Command", taper la commande suivante (ATTENTION, cfr note sur la synthaxe de l'apostrophe ci-dessus !) :
cc `MagickCore-config --cflags --cppflags`
5)
Toujours dans l'onglet "Tool Settings", cliquer sur "GCC/C linker"
6) dans l'invite de commande "Command", taper la commande suivante :
cc `MagickCore-config --ldflags --libs`
Voila, vous pouvez dès à présent compiler votre projet. Il reste cependant une petite manipulation à faire pour pouvoir l'exécuter sans problème :
7) Pour exécuter un projet, aller dans "Run->Run..."
8) Dans la colonne de gauche, cliquer 2 fois sur "C/C++ local application". Cela devrait avoir pour effet de créer une application C/C++ du même nom que celui de votre projet en cours. Cliquez 1 fois dessus si elle n'est pas déja en surbrillance.
9) A droite de l'invite de commande "C/C++ Application", cliquez sur "Search Project", sélectionnez le projet en cours et cliquez sur "ok". La fenetre de sélection devrait se fermer et un chemin d'accès du type "Debug/mon_projet" devrait être inscrit dans l'invite de commande "C/C++ Application".
10) cliquez sur "Run" pour exécuter votre programme
N.B; : comme dit plus haut, n'oubliez pas d'inclure un petit #include <magick/MagickCore.h> la où vous désirez utiliser les méthodes de magickcore
Voila, j'espère avoir été assez clair, et que ce post pourra servir à la communauté![]()
Partager