Le blog de David Loureiro

Un blog sur le libre et l'open source

Travailler des images depuis la ligne de commande : ImageMagick

Ceux qui utilisent linux connaissent parfois ImageMagick, le couteau suisse de l'image en ligne de commande. Si jamais ce n'est pas le cas, rendez-vous immédiatement sur la page de l'appli! C'est proprement incroyable ce qu'il est possible de faire avec les différents outils mis à disposition!

Pour ceux que cela peut intéresser il existe une page listant un très très grand nombre d'exemples d'utilisation des différents outils : Examples of ImageMagick Usage

J'ai tout particulièrement aimé la possibilité de faire des montages d'images avec une commande du genre :

  1. montage premiere_image.png \
  2. seconde_image.png \
  3. troisieme_image.png \
  4. -tile x1 -geometry +2+2 \
  5. -background none resultat.png

Et pour les programmeurs en herbe il y a même possibilité d'utiliser tous les outils d'ImageMagick depuis vos langages préférés : C,C++, Java, .Net, j'en passe et des meilleurs.

Pour plus d'infos sur les APIs vous pouvez vous rendre ici : http://www.imagemagick.org/script/api.php

Si vous trouvez pas votre bonheur pour faire ce que vous voulez sur des images avec ImageMagick, il vous reste toujours The GIMP ! :-)

Une autre façon d'utiliser XML depuis Java : StAX

Quand on souhaite parser des fichiers XML depuis une application Java, la plupart du temps les gens utilisent les API de type "event driven" comme SAX qui sont "memory efficient" ou les API qui génèrent un arbre DOM de votre fichier XML comme l'implémentation de DOM ou JDOM.

Chacune possède un avantage et un inconvénient:

  • SAX :
 * Avantage : Memory efficient
 * Inconvénient : on ne peut revenir sur un élément précédent dans la structure du document
  • DOM :
 * Avantage : on possède un arbre DOM du document et l'on peut le traverser comme l'on veut
 * Inconvénient : dès que le document devient volumineux l'arbre prend du temps à être généré et il prend beaucoup de place en mémoire.

Il existe une autre API qui par certains cotés se rapproche de SAX tout en permettant de revenir sur des éléments précédents dans l'arbre : StAX. Cette API est de deux types : on peut traiter les arbres à la manière de SAX avec une API de type curseur, on défile en faisant des next() sur les évènements, et une API de type Iterator qui permet d'avoir un index sur un évènement et l'on peut donc revenir en arrière sur un élément en changeant l'index.

Si jamais vous souhaitez en savoir plus sur StAX, vous pouvez aller voir: Java StAX, un article rédigé par Jacob Jenkov sur StAX qui donne aussi tout un tas d'éléments d'informations sur l'utilisation de StAX et des liens vers d'autres sources d'informations.

Il faut aussi savoir que pour l'instant StAX n'est pas implémenté dans Java6 mais qu'on y trouve les interfaces. Une bonne implémentation de StAX peut être trouvée ici : http://stax.codehaus.org/

Wish lists de montres

Si je devais faire deux wish-lists avec les “abordables” et les “inaccessibles” voilà ce que cela donnerait :

Accessibles :

  • PANERAI Luminor Daylight
  • JAEGER LECOULTRE Reverso Squadra Hometime GMT Black
  • VULCAIN Cricket Revolution Dual time
  • BREGUET Type XXI

entre autres …

Et pour les inaccessibles:

  • MAURICE LACROIX Mémoire1
  • JAEGER LECOULTRE Gyrotourbillon 2
  • JAEGER LECOULTRE Master Grande Tradition Tourbillon à Quantième Perpétuel
  • CONCORD C1 Tourbillon Gravity
  • MONT BLANC Grand Tourbillon Heures Mystérieuses

entre autres aussi …

La classe Collections en java

Quand on utilise des collections en Java (ce qui est bien mieux que d'utiliser des tableaux, bah caca), il apparaît rapidement un besoin d'avoir des collections vides par exemple, non-modifiables, synchronisées, etc et sur lesquelles on peut effectuer des opérations de base comme le mélange de ses éléments, le transfert depuis des énumérations, j'en passe et des meilleures.

Dustin Marx a écrit un article assez bien fait où code à l'appui il donne des explications sur les différentes méthodes statiques de la classe Collections de Java qui permette de répondre à ces différentes questions : The Java Collections Class.

Intéressant pour qui souhaite utiliser plus finement les collections java qui sont de puissants moyens de stockages.

GWT : développer ses pages web en AJAX avec java (et pas forcément tomcat derrière...)

Lorsque Ghislain m'a montré GWT (qu'il avait découvert lors d'un Google Developer Day) j'avais regardé un peu comment ça fonctionnait et franchement pour un développeur Java c'est vraiment sympa. C'est uen façon simple de créer ses pages web si l'on ne connaît pas grand chose au CSS, Javscript et autres joyeusetés du genre, sans pourtant faire des jsp et utiliser tomcat.

Mais comment le direz vous? Et bien vous récupérer le sdk de gwt, le plugin d'éclipse qui va bien et vous pouvez désormais écrire vos site web directement java, super non!

Voici un article qui vous donne quelques infos sur les points forts de GWT de façon générale, mais aussi en comparaison avec les frameworks de développement javascript classiques : Why GWT?. Cet article est écrit par Chris Grove sur le site Key Lime tie.

Thème original par N.Design Studio - Adapté par Pixials - Propulsé par Dotclear
Fil des billets Administration