Autor Beitrag
Henry_1123
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Mo 09.05.11 19:27 
Hallo,
ich habe mit viel Mühe mir ein Script zusammengebaut, welches mir alle Bilder eines Ordners in eine gewünschte Größe konvertiert. Leider ist die erhaltene Quallität der Bilder durch das Verzerren ziemlich schlecht, also habe ich mich entschieden sie zu schneiden. Das habe ich aber noch nie Programmiertechnisch gemacht.

Folgendes Ziel sollte erreicht werden, vieleicht könnt Ihr mich ja unterstützen:

Ich möchte alle Bilder eines Ordners in der Höhe schneiden,

Breite/Höhe soll 2,06 entsprechen.
Die Breite soll 1500 sein. D.H. Ich berechne die Höhe.

Leider weiß ich nicht wie ich das schneiden anfangen soll, kenn mich skripttechnisch nicht so aus.

Ich poste mal den code der für die definierte größe gedacht war und bitte euch um ein bisschen unterstützung. Danke

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
private void button_auto_convert_Click_1(object sender, EventArgs e)
        {
            string[] fileNames = Directory.GetFiles("archiv1\\pic\\""*.jpg");   //"*.jpg" als 2. Parameter für JPEG-Dateien.

            for (int i = 0; i < fileNames.Length; i++)
            {
                string OriginalFile = fileNames[i]; //liefert die Dateinamen mit dem ganzen Pfad, d.h. du brauchst hier den Pfad nicht noch einmal anhängen
                string NewFile = "archiv2\\pic\\" + i.ToString() + ".jpg";   //Datei nach Variable i benennen
                
                float OrgWidth = /*bildweite vom Aktuellen Bild*/;
                float Potenz = 2.068965517241379
                int schnitt;
        
                float NewWidth = 1500;
                float NewHeight = (OrgWidth/Potenz);
                
                schnitt = (NewHeight/2);

                System.Drawing.Image FullsizeImage = System.Drawing.Image.FromFile(OriginalFile);
                System.Drawing.Image NewImage = FullsizeImage.GetThumbnailImage(NewWidth, NewHeight, null, IntPtr.Zero);

                FullsizeImage.Dispose();
                NewImage.Save(NewFile);
            }
        }