darkBlog

vendredi 8 juillet 2005

Skinning de client Lotus Notes

Grâce à INTEGRATE!People Light Edition. Voilà mon skin, réalisé vite fait du bureau :

mercredi 6 juillet 2005

Traitement d'images avec Domino

Si jamais vous croyiez ce domaine réservé à vos petits camarades développeurs PHP (entre autres langages..), et bien sachez que, pour peu que votre serveur Domino tourne sous Windows, ce n'est pas le cas, et ce grâce à ImageMagick. ImageMagick est une suite de logiciels en ligne de commande de traitement d'images (licence type GPL). Là où ça devient intéressant, c'est qu'ImageMagick est livré avec un composant OLE ; c'est ce qui va nous permettre de le piloter au travers d'agents LotusScript. Vous imaginez bien que ça ouvre la porte à tout un tas de choses rigolotes.

Le code se résume donc à l'instanciation d'un objet ImageMagick puis à l'invocation des outils spécifiques (convert, mogrify, composite, etc) pour lesquels on spécifie des commandes décrivant le(s) traitement(s) désiré(s) (conversion, redimensionnement, rotation, correction gamma, ajout de texte, etc etc -- les possibilités sont très nombreuses).

L'exemple suivant réalise l'application d'un ton sépia ainsi que le redimensionnement en 320x200 d'une image jpeg :

Sub Initialize

Dim img As Variant
Dim ret As Variant

Set img = CreateObject("ImageMagickObject.MagickImage.1")

ret = img.Convert("c:\plop.jpg", "-resize", "320x200", "-sepia-tone", "70%", "c:\plop-sepia-thb.jpg")

End Sub

Une petite note pour ceux qui seraient frileux à l'installation "aveugle" (suivant, suivant, suivant..) d'un logiciel tiers sur un serveur de production (et ils auraient raison), il est tout à fait possible de l'installer manuellement : copie des fichiers, ajout de quelques clés dans la base de registre, enregitrement de la DLL (pour le composant OLE) et le tour est joué !

PS : à titre informatif, j'ai d'abord tenté de faire fonctionner GD sans grand succès (celui-ci fournit désormais une DLL en vue d'être utilisé via VB et consorts), puis JMagick, une interface Java à ImageMagick, dont l'intérêt aurait été du coup d'être cross-platform et contenu dans une base Notes (ce qui aurait simplifié le déploiement, cf la remarque du paragraphe précédent). C'est donc parce je n'ai pas réussi à faire fonctionner les 2 solutions précédentes que je me suis tourné vers le composant OLE d'ImageMagick. Toutefois, si jamais vous y arrivez de votre coté, je suis évidemment plus que preneur.