Générer et modifier une image bitmap en Silverlight 2

Après un premier billet dans la rubrique "Cookbook Silverlight" qui parlait d'un contrôle pour afficher du texte riche, voici un autre petit truc utile qui concerne la génération et la manipulation d'images bitmap directement depuis Silverlight 2.

Si vous avez un peu joué avec la Bêta 1 de Silverlight 2, vous avez pu remarquer que depuis les langages managés, nous n'avons pas accès au contenu d'une image bitmap et qu'il est donc imppossible d'en générer ou d'en modifier par code, que ce soit pour effectuer un traitement sur la palette de couleurs ou pour ajouter un watermark à une image.

JoeStegImageGenSample Et bien Joe Stegman nous propose sur son blog un sample qui permet de manipuler une image au format PNG. Comment peut-il faire cela ? Il n'y a pas de magie cachée, et il a tout simplement codé une classe qui sait lire et écrire au format PNG, le tout en code managé.

Les fonctionnalités sont très basiques, et les perfs ne permettent pas de façon réaliste de manipuler des images très larges, mais c'est un début et c'est surtout une base de code sur laquelle il devrait être aisé de greffer des transformations classiques, comme par exemple celles exposées via ces algorithmes implémentés en C#.

Quelqu'un souhaite tenter de relever le défi ? ;)