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.
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 ? ;)
Comments
- Anonymous
April 23, 2008
Oh, mais c'est interressant ! J'avais adapte un bout de code de LukeH (celui-ci : http://blogs.msdn.com/lukeh/archive/2007/04/03/a-ray-tracer-in-c-3-0.aspx) pour voir a quoi pouvait ressembler du raytracing avec Silverlight, et aussi pour mesurer la vitesse d'execution. Ca marche bien, mais alors a quel prix : un Rectangle XAML par pixel ! Etonnamment rapide a l'affichage, mais completement insense. Ce meme travail pourrait etre accompli de facon plus convenable grace a cette librairie.