Hey,
ich habe nen ganz einfachen Code:
string filename = string.Format ("image{0}.png", i);
Log.Debug (filename);
tmp.Save (filename, System.Drawing.Imaging.ImageFormat.Png);
Dabei bekomme ich allerdings ne Exception:
ArgumentException wurde nicht behandelt: ungültiger Parameter.
Mehr infos gibts nciht und ich hab jetzt schon ewig rumprobiert und im Netz gesucht.
Habt ihr vlt ne Idee woran das liegen könnte?
Hallo,
wie erstellst du das Bild?
Wenn das aus nem anderen Bild geladen wird das kein PNG ist dann kanns das sein.
Was ist wenn du das ImageFormat nicht angibst?
mfG Gü
Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.
"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"
Das Bild ist eigentlich ein Screenshot, zu Testzwecken wird es aber aus einer png-Datei geladen. Daran liegt also cicht.
Was mir gerade auffällt.
Ich benutze das Bitmap vorher in einem using-Block. Der gibt ja normalerweise hinterher die Resourcen frei. Könnte das das Problem sein?
Hallo,
Könnte das das Problem sein?
Ja, sogar ziemlich sicher.
Gruß, MarsStein
Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca
Ich hab das using jetzt weggemacht aber es geht immer noch nicht.
Ich habe das ganze nochmal vereinfacht, vlt sieht jemand jetzt den Fehler:
var prov = new ScreenshotImageProvider (handle);
for (int i = 0; i < 100; i++)
{
var b = prov.NextImage ();
var file = path + "image" + i + ".bmp";
b.Save (file);
Thread.Sleep (300);
}
gibt:
Allgemeiner fehler in GDI+.
Der Screenshot wird über
Graphics.CopyFromScreen (left, top, 0, 0, new Size (width, height));
erzeugt.
Hallo,
verwende statt dem Thread.Sleep lieber einen Timer und bauen den Dateinamen mit den Methoden der Path-Klasse zusammen (Path.Combine). Ich denke dass der Fehler vom (falschen) Dateinamen kommt. Wie schaut ein solcher zB aus (aus dem Debug kopieren und posten 😉?
mfG Gü
Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.
"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"