Laden...

Beim Vergrößern/Erstellen einer Bitmap: System.AgumentException: Ungültiger Parameter.

Erstellt von Hans232323 vor 11 Jahren Letzter Beitrag vor 11 Jahren 1.960 Views
H
Hans232323 Themenstarter:in
14 Beiträge seit 2011
vor 11 Jahren
Beim Vergrößern/Erstellen einer Bitmap: System.AgumentException: Ungültiger Parameter.

Hallo

Ich hab ein Problem ich rufe von einer funktion nach einander wenn die fertig ist erneut die funktion auf wo ich eine grafik erstelle und die abspeichere. Es geht auch die ersten mal gute bis er anfangt zu meckern ich poste mal code ausschnitte die wichtig sind und die fehler meldung hoffe mir kann wer nen tipp geben.

Der Code um den es geht. den ruf ich von einer funktion auf und wenns abgearbeitet ist dann noch ein paar mal


int Faktor = 5;
int Blattbreite = 826 * Faktor;
int Blatthoehe = 1140 * Faktor;

Bitmap bmp2 = new Bitmap(Convert.ToInt32(Blattbreite), Convert.ToInt32(Blatthoehe));

////Hier ist der code der die Bitmap zusammen baut////////

Bei mir ist es nach dem 3. mal wo dann immer die fehlermeldung kommt

Fehlermeldung:
System.AgumentException: Ungültiger Parameter.
bei System.Drawing.Bitmap..ctor(Int32 width, Int32 height, PixelFormat format )
bei System.Drawing.Bitmap..ctor(Int32 width, Int32 height) (Dann noch der verweis auf die zeile und das ist die von Bitmap da oben)

Wenn einer eine idee hatund versteht waw smein problem ist bitte helfen

C
258 Beiträge seit 2011
vor 11 Jahren

Hallo Hans232323,

Er sagt dir doch schon das deine Parameter nicht gültig sind, vielleicht siehst du dir nochmal die Werte an bei denen deine Exception auftritt.

also höhe und / oder breite * faktor ergeben einen ungültigen wert für den Konstruktor.

5.658 Beiträge seit 2006
vor 11 Jahren

Hi Hans232323,

gibst du den Speicher auch wieder frei oder erstellst du immer ein Bitmap nach dem anderen? Weil irgendwann ist der Speicher voll. Ansonsten wäre es für alle Beteiligten sehr hilfreich, wenn du ein bißchen auf Orthografie und Zeichensetzung achten würdest, dein Beitrag ist ehrlich gesagt fast unlesbar.

Christian

Weeks of programming can save you hours of planning

H
Hans232323 Themenstarter:in
14 Beiträge seit 2011
vor 11 Jahren

Irgedn wie macht er den speicher nicht wieder frei hab die bmp und Grafic die entstehen dispose() gen ommen und hab sicherheits halber auch mal das bmp in ein using gepackt aber er packt jedes mal 250MB oben drauf hab keine ahnung wo er da den speicher nicht mehr freigibt ...

C
258 Beiträge seit 2011
vor 11 Jahren

Hast du dir angesehen welche werte dem Konstruktor übergeben werden? Oder bleiben deine Werte (faktor und höhe/breite) gleich?

Wenn du deine Objecte richtig .disposed und irgendwo dem GC auch Zeit gibst zu arbeiten sollte der speicher kein Problem sein.

Vl kannst du etwas mehr Code posten also nur das schnipsel.

PS: Bitte nimm dir den Post von MrSparkle zu herzen und versuch deine Beiträge lesbar zu halten.

H
Hans232323 Themenstarter:in
14 Beiträge seit 2011
vor 11 Jahren

Die faktoren sind immer gleich daran kann es nicht liegen

ich hab alle objecte die ich gefudnen hab jetzt dispose() genommen bis auf mein PDF gerater mitten drin der hat kein dispose (iTextSharp) (kennt einer da einen besseren ?) da hab ich jetzt das alles runter bekommen auf geringeren speicher zuwachs pro nutzung aber es ist immer noch ein zuwachs da ...

Mehr text posten ist schwer weil die funktion über 1000 zeilen hat und berechnungen wie sich das bild zusammen setzt