Je dois stocker les informations d'image bitmap dans un fichier au format XAML. Quelqu'un peut-il m'aider s'il vous plaît à cet égard?Stockage d'une image bitmap en XAML
Répondre
It can't be done (Charles Petzold)
Bien sûr, vous pouvez vous référer à externes bitmaps dans les fichiers XAML, mais vous ne pouvez pas incorporer un bitmap dans un fichier XAML. Qu'est-ce que vous auriez besoin est une classe qui dérive de BitmapSource qui a une propriété données nommée ou quelque chose que vous pourriez ensemble à un tableau d'octets et un convertisseur qui accepte une liste de octets cités dans le fichier XAML . Et une telle classe n'existe pas.
Ce que vous devriez vraiment pas faire est obtenir des idées étranges et dangereuses, comme la simulation peut-être un bitmap en utilisant un UniformGrid contenant un tas d'objets un pixel rectangle carré, un pour chaque pixel. C'est juste des noix.
Une fois que vous commencez à penser des pensées folles comme ça, vous êtes susceptible de prendre une 6K 220 × 260 JPEG couleur et le convertir en un fichier 1.9 megabyte EmbeddedBitmap.xaml qui prend beaucoup trop de temps à charge et composer.
Sûrement vous avez un meilleur sens que que!
bonjour Shay Erlichmen, ce dont j'ai besoin c'est, je veux stocker des informations d'image au format xaml. et je veux savoir comment je fais la même chose en utilisant le code C#. pls m'aider à cet égard. –
Je pense que cela peut être une demande valide dans certains cas, comme l'incorporation de petites images de bouton au format png. Je ne l'ai pas essayé, mais je pense que ce qui suit est valable:
- embedd une chaîne dans votre code XAML contenant une base 64 codé l'image
- instancier un convertisseur, qui prendra un bas-64 chaîne et retour d'une image
- Placez un objet image dans le XAML, lié à la chaîne de base 64 et en utilisant le convertisseur mentionné
d'ailleurs, j'ai vu ce cas (petits icônes) incorporées dans des pages HTML, où c'est possible sans convertisseur.
Voulez-vous dire que vous voulez que les données binaires elles-mêmes apparaissent dans le XAML? Ce sera très inefficace même si c'est possible, car il faudra encoder en base 64. Normalement, vous vous référez à une ressource dans un assemblage ou un fichier. –
pourquoi vous en avez besoin? –