Flux à l'Image et au dos
Je vais prendre un Stream
convertir Image
, processus que l'image, puis en retour un FileStream
.
Est-ce un problème de performance? Si non, quel est le optimisé façon de convertir et de retour d'un flux?
public FileStream ResizeImage(int h, int w, Stream stream)
{
var img = Image.FromStream(stream);
/* ..Processing.. */
//converting back to stream? is this right?
img.Save(stream, ImageFormat.Png);
return stream;
}
La situation dans laquelle ce qui est en cours d'exécution: l'Utilisateur télécharge l'image sur mon site (contrôleur me donne un Ruisseau, je redimensionner ce, puis envoyer ce flux de rackspace (Rackspace prend un FileStream
).
Êtes-vous un problème de performance?
Je n'ai pas à avoir un problème de performances à écrire du code optimisé dès le départ.
Il dépend de l'optimisation. Si vous le code fonctionne mal, oui, d'optimiser. Mais la règle doit être: mesure avant de les optimiser.
Je ne savais pas comment le faire de toute façon, de sorte pourrait aussi bien trouver la plus efficace façon de le faire tout en demandant 😀
Je n'ai pas à avoir un problème de performances à écrire du code optimisé dès le départ.
Il dépend de l'optimisation. Si vous le code fonctionne mal, oui, d'optimiser. Mais la règle doit être: mesure avant de les optimiser.
Je ne savais pas comment le faire de toute façon, de sorte pourrait aussi bien trouver la plus efficace façon de le faire tout en demandant 😀
OriginalL'auteur Shawn Mclean | 2011-09-25
Vous devez vous connecter pour publier un commentaire.
Fondamentalement, vous voulez quelque chose de ce genre, ne vous pas:
qui sera utilisée comme ceci:
OriginalL'auteur Darin Dimitrov
Qui semble aussi simple qu'il peut être. Vous devez lire l'intégralité du contenu de l'image pour être en mesure de le traiter et vous devez écrire le résultat en retour.
FileStreams sont normales .NET moyen de gérer les fichiers, donc normal, votre approche est d'accord.
La seule chose que je ne comprends pas, c'est pourquoi vous retourner le FileStream de nouveau - c'est le même objet a été transmise par un paramètre.
Si vous faites beaucoup d'images et de ne modifier qu'une partie de ces données, les fichiers mappés en mémoire pourrait améliorer les performances. Cependant, il est une version plus avancée du concept d'utilisation.
OriginalL'auteur Anders Abel