Thumnails generieren !?

axelfxxx

Mitglied
Hi @ all,

1. ich hoffe dieser Topic ist besser ;)

2. Irgendwie steh ich mal wieder auf dem Schlauch: Ich habe eine Funktion geschrieben, wo ich von einem Pfad aus, Thumbnails generiere und diese in einer PictureBox anzeigen lassen will. Aber die Box bleibt leer !? Warum ?

Oder hat jemand einen anderen Weg, aus Bildern Thumbnails zu machen, um diese anzuzeigen?

Hier der Code:

C#:
private void thumbnails_Click(object sender, EventArgs e)
        {
            DialogResult dr = this.fbd.ShowDialog();
            this.fbd.RootFolder = Environment.SpecialFolder.MyComputer;
            string path = this.fbd.SelectedPath;
            string[] filenames = Directory.GetFiles(path);
            if (dr == DialogResult.OK)
            {
                for (int ix = 0; ix > filenames.Length; ix++)
                {
                   System.Drawing.Image img = System.Drawing.Image.FromFile(filenames[ix]);
                   img.GetThumbnailImage(64, 64, new Image.GetThumbnailImageAbort(ThumbnailCallback), IntPtr.Zero);
                   this.pictureBox1.Image = System.Drawing.Image.FromFile(img.ToString() + " ");            
                }
            }
        }
Oder ist der Code Falsch ?

Über einen Denkanstoß währ ich sehr dankbar ;)
mfg
Alkex
 
Moin!

Der Rückgabetyp von der Image.GetThumbnailImage Methode ist ein Image.
Was läge dann also näher als deinem Image das verkleinerte mal zuzuweisen... ;-]
Was soll denn das hier überhaupt bedeuten? :eek:
C#:
this.pictureBox1.Image = System.Drawing.Image.FromFile(img.ToString() + " ");

So ist's richtig:
C#:
using System.Drawing;

[...]

Image img = Image.FromFile( filenames[ix] )
	.GetThumbnailImage( 64, 64, new Image.GetThumbnailImageAbort( ThumbnailCallback ), IntPtr.Zero );

this.pictureBox1.Image = img;

[thread=228053]SystemIcons ToBitmap() - Kein sauberer Rand. - Thread[/thread]
[thread=228033]Nach Image.FromFile() Dateizugriff gesperrt - Hilfe! - Thread[/thread]

MfG,
cosmo
 
Gut den Fehler in meiner Funktion, hab ich inzwischen verstanden, doch das Problem ist, das jetzt immer noch nichts angezeigt wird. !?

Keine eine PictureBox überhaupt MEHRERE Bilder anzeigen ?
 
Hab den Fehler gefunden :)

Das ganze darf nicht in eine FOR sonder MUSS in eine FOREACH - Schleife !!

C#:
foreach (string file in filenames)
                {
                    Image img = Image.FromFile(file).GetThumbnailImage(65, 65, null, IntPtr.Zero);
                    this .... = img. // was man hinterher mit den kleinen Bildchen machen will ;)
                }
 
Hab den Fehler gefunden

Das ganze darf nicht in eine FOR sonder MUSS in eine FOREACH - Schleife !!
HALT! Nicht so voreilig. ;-]

Dein BedingungsStatement in der For-Schleife war falsch. ;)
Du hättest nicht auf
C#:
ix > filenames.Length
sondern auf
C#:
ix < filenames.Length
prüfen sollen... Hab ich glatt übersehen. :-(
 

Neue Beiträge

Zurück