7
votes

Travailler avec des images: le paramètre n'est pas valide

Tout a commencé avec Un morceau de code très utile que j'ai trouvé ici Sur Stackoverflow .

Ensuite, j'ai décidé de faire mes propres modifications et d'ajouter une image de redimensionnement à cette méthode. Cependant, après avoir lu avec ce problème, je suis maintenant présenté avec les informations de: "Le paramètre n'est pas valide" .

Je tiens également à mettre en évidence cela, malgré l'erreur , les images sont sucessément téléchargées. Cependant, ils ne sont pas optimisés comme prévu.


ceci est la partie du code dans mon "bouton de téléchargement": xxx < / Pré>


Ceci est le code complet de ma méthode de ma sauvegarde: xxx

suivi

Il semble que le code ait eu quelques erreurs. Être un dans le codage et un autre dans l'économie d'image.

Le suivi des Aristos est très important pour résoudre ce problème, car il corrige mon erreur moche lors de la sauvegarde du fichier.


2 commentaires

Cette autre question pourrait être liée à: Stackoverflow.com/Questtions/384593/...


@Laurent merci. J'essaie toujours de résoudre ce problème, mais je peux maintenant compter avec l'aide de votre lien.


3 Réponses :


9
votes

Ce que je suggère que cela soit plus correct lorsque vous enregistrez l'image est xxx pré>

et cette fonction pour rechercher le codeur du système P> xxx pré>

Où le long cquality = 65L code> et assurez-vous que cela est long, et je pense que cela ne pense qu'aujourd'hui doit changer, le Int à long terme sur l'appel de la fonction strong>. Est également préférable de se déformer avec en utilisant () {} code> les fonctions qui ont besoin de disposer () p>

suivi h2>

Vous avez un bug sur le nouveauImage que vous avez Essayez de sauver, vous ne l'obtenez pas des graphiques réellement que vous avez faits auparavant, pourquoi rien n'est change. Le code en fait de vous n'a pas enregistré l'image Créer, mais vous en faites un nouveau, ce code P>

newImage.Save(path, jpegCodec, encoderParams);
newImage.Dispose();


3 commentaires

Merci pour votre message. Cependant, après avoir utilisé votre suggestion, je n'ai toujours pas fait de progression. L'image est toujours en cours de téléchargement (mais non redimensionnée ou sa qualité étant réduite). Donc, fondamentalement, après avoir appliqué vos changements, je suis toujours au même endroit. :(


@Marco Vous dites que cela a eu une erreur, non pas que l'image est affichée sans changement appliqué.


Peut-être que je ne m'as pas expliqué correctement. Pardon. Ce que je voulais dire est: "Le paramètre n'est pas valide" Les informations sont toujours affichées comme décrit dans le message d'origine. Et comme vous pouvez lire sur le message original suivant: "Malgré l'erreur, les images sont en cours de téléchargement. Cependant, ils ne sont pas optimisés comme prévu.".



5
votes

Dans mon cas, j'appelle accidentellement Dispose avant Enregistrer qui a entraîné la même chose "Le paramètre n'est pas valide" Erreur

J'espère que cela vous aide!


0 commentaires

5
votes

J'ai pu résoudre ce problème en spécifiant le type de données de la qualité. Ce doit être un "long", donc cela résolu mon problème.

Exception calling "Save" with "3" argument(s): "Parameter is not valid."
At C:\Projects\Image_Comparison\ImageComparison.ps1:81 char:49
+     $bmp.Save($imageOutPut,$myImageCodecInfo, $($encoderParams))
+                                                 ~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : ArgumentException


1 commentaires

Uplotting parce que j'avais le même problème pour c #