J'ai trouvé cette excellente bibliothèque pour Silverlight qui était en fait un port de libjpeg, alors j'ai tout mis en œuvre pour le vérifier. Après avoir téléchargé la bibliothèque à partir du repo SVN (http://fjcore.googlecode.com/svn/trunk/), j'ai réussi à construire la bibliothèque et à ajouter une référence au fichier .DLL dans mon projet Windows Phone 7. Lors de la construction réussie de mon projet WP7, lors de l'utilisation de l'émulateur, l'application se bloque avec une erreur que je n'avais jamais vue auparavant:FieldAccessException lors de l'utilisation de FJCore avec Silverlight pour Windows Phone 7
FieldAccessException n'a pas été manipulé. - System.Reflection.Emit.OpCodes.Ldarg_1
L'exemple silverlight du code original a bien fonctionné. L'exemple ouvre une boîte de dialogue "Ouvrir un fichier" et redimensionne l'image en fonction de ce qui est sélectionné. Malheureusement, je ne peux pas utiliser le même code dans mon projet WP7. Les classes WP7 ne supportent pas le dialogue "Open File". La bibliothèque utilise simplement un objet Stream générique, donc je passe dans le e.Result (un objet PhotoStream) à partir d'un événement PhotoChooserTask Completed.
Vous ne savez pas pourquoi j'obtiens cette erreur et comment y remédier?
Redimensionner l'image dans mon application WP7 est impératif. Après tout, qui veut attendre pour télécharger une image 5MP sur un réseau 3G? Je sais que je ne le sais pas.
Merci!
MISE À JOUR - Solution trouvée pour redimensionner une image sur WP7 sur un fil d'application (pas de fil UI)
protected Stream ResizeImage(WriteableBitmap tempBitmap, int maxEdge)
{
WriteableBitmap wb = tempBitmap;
// Resize to Max Values...
Size widthHeight = GetMaxWidthHeight(wb.PixelWidth, wb.PixelHeight, maxEdge);
Stream resizedStream = new MemoryStream();
wb.SaveJpeg(resizedStream, (int)widthHeight.Width, (int)widthHeight.Height, 0, 90);
return resizedStream;
}
Y a-t-il une solution de contournement pour cela? – Jason
http://social.msdn.microsoft.com/Forums/en-US/windowsphone7series/thread/17c03476-cb6e-4428-aa16-6cb8966d28e3 –
La réponse de l'utilisateur à ma question est techniquement correcte, mais je suis un peu déçu dans le manque de suggestion pour une solution. TTT ... TTT. – Jason