Articles taggés bitmapimage
[WP7] Tout savoir sur la gestion des images
0Un très rapide post pour partager le lien vers un excellent article de Stefan Wick sur l’optimisation et la gestion des images sur Windows Phone 7 : http://blogs.msdn.com/b/swick/archive/2011/04/07/image-tips-for-windows-phone-7.aspx
En particulier il nous présente, bien entendu les classiques BitmapCreateOptions de la classe BitmapImage pour choisir un chargement/décodage à la demande ou immédiat.
Mais aussi le PictureDecoder, qui permet de décoder une image dans la résolution voulue, et donc de gagner en vitesse et empreinte mémoire ! Malheureusement, celui ci ne sait décoder que les JPG, et pas les PNG…
Une dernière chose, à laquelle je me suis heurté lors du développement du Tile Toolkit : le décodage d’image ne peut se faire QUE sur le thread UI et c’est fort dommage…
Composition d’image : rendre du XAML sous forme d’image [Update 12/2011]
2Voici un morceau de code qui pourront rendre service lors de développements Silverlight (3 et +, Windows Phone 7, …) : si vous avez besoin de générer une image dans votre application : à partir de Silverlight 3, la classe WriteableBitmap est à votre disposition et permet de créer une image pixel par pixel.
Elle est de transformer un arbre XAML en une image, seule ombre au tableau; cette classe est parfaite pour l’affichage à l’écran, en effet le contrôle Image est capable d’afficher un WriteableBitmap mais pour la sauvegarde c’est une autre paire de manche : nativement, Silverlight ne propose pas d’encodeur PNG ou JPEG pour exporter ce paquet de pixels.
Le code qui suit vous permettra de profiter de la praticité de Silverlight pour composer une image (à vous les superpositions alpha, le texte antialiasé positionné comme bon vous semble en quelques lignes, les layouts faciles à utiliser – grid, stackpanel, …) exportable en PNG non compressé (attention quand même du coup, et en passant merci à Joe Stegman pour son PNGEncoder).
Vous pourrez ensuite manipuler ces images comme bon vous semble, car deux formats de sorties sont disponibles, l’une en Stream et l’autre en Byte[]. Aucun problème pour les sérialiser (contrairement aux BitmapImage)
Code and english version of the post available below

Commentaires récents