int countimages = 0;
private void timer1_Tick(object sender, EventArgs e)
{
Image img = sc.CaptureWindowToMemory(windowHandle);
Bitmap bmp = new Bitmap(img,img.Width,img.Height);
bmp.Save(@"e:\screenshotsofpicturebox1\screenshot" + countimages + ".bmp");
bmp.Dispose();
string[] images = Directory.GetFiles(@"e:\screenshotsofpicturebox1\", "*.bmp");
if (images.Length > 0)
{
if (pictureBox1.Image != null)
{
File.Delete(images[0]);
countimages = 0;
pictureBox1.Image.Dispose();
}
pictureBox1.Image = Image.FromFile(images[countimages]);
}
countimages += 1;
label1.Text = countimages.ToString();
}
- Ich möchte Bild auf der Festplatte auf die PictureBox1 das Bild
- Last speichern
- nach dem Bild zu PictureBox1 geladen löschen Sie die Datei von der Festplatte
- ein neues Bild pariert Festplatte und laden Sie es in das BildBox1
- löschen Sie die Datei und so weiter jedes Mal mit einem neuen Bild.
Das Problem jetzt ist i Ausnahme auf der Linie bin immer:Wie kann ich das Bildformularverzeichnis zu pictureBox laden, die Bilddatei nach dem Laden in die Picturebox und wieder zu den nächsten Bildern löschen?
File.Delete(images[0]);
Der Prozess kann nicht die Datei e:\screenshotsofpicturebox1\screenshot0.bmp
zugreifen, da sie von einem anderen Prozess verwendet wird.
Ein weiteres Problem, das ich jetzt sah es jedes Mal eine neue Datei auf die Festplatte rettende
screenshot0.bmp
screenshot1.bmp
Aber ich wan nur eine Datei jedes Mal screenshot0.bmp
und einfach ersetzen sie jedes Mal mit einem neuen Bild zu sein.
gut ist das Bild offen im Bildfeld, so dass es sinnvoll ist, man es richtig nicht löschen ..? Aus demselben Grund, wenn Sie ein Bild in einem Foto-Viewer öffnen und dann versuchen, es zu löschen, erhalten Sie eine Fehlermeldung darüber, wie es nicht gelöscht werden kann, da es in einem anderen Prozess geöffnet ist. – Jacobr365
Warum sollten Sie es sogar speichern und löschen Sie es von der Festplatte, wenn Sie einfach alles zusammen vermeiden und es nur in der Bildbox anzeigen können? –