C#

Diskutiere und helfe bei C# im Bereich Software & Treiber im SysProfile Forum bei einer Lösung; Guten Abend, Meine Problemstellung an der ich gerade hänge, lautet wie folgt: Erstelle eine Klasse mit der Sie Bilder aus einem Ordner auslesen... Dieses Thema im Forum "Software & Treiber" wurde erstellt von beyond123, 30. Mai 2013.

  1. beyond123
    beyond123 Grünschnabel
    Registriert seit:
    30. Mai 2013
    Beiträge:
    1
    Zustimmungen:
    0

    Guten Abend,
    Meine Problemstellung an der ich gerade hänge, lautet wie folgt:

    Erstelle eine Klasse mit der Sie Bilder aus einem Ordner auslesen können (Durchklicken durch den Explorer). Nimm diese Bilder und speicher diese in eine ArrayList. Anschließend erstelle dazu eine Forms und gib diese Bilder auf einem Panel (Miniaturansicht) aus.

    Dazu erstelle noch eine Funktion, dass wenn ein Bild in der Miniaturansicht angeklickt wird, das Bild neu gezeichnet und in einem größeren Format dargestellt wird.

    Als nächstes sollten die Bilder verwaltet werden können:

    * Erstelle eine Kopier des Bildes. Arbeite nicht mit dem Original !

    * Erstelle die Funktion zum zuschneiden des Bildes

    Wäre SEHR SEHR dankbar, wenn mir jemand von euch helfen könnte. Ich weiss einfach nicht, wie ich dies in einer Klasse umsetzen kann.

    Dies wäre der bisherige Forms Code:

    private bool klick = false;

    private void öffnenToolStripMenuItem_Click(object sender, EventArgs e)
    {
    FolderBrowserDialog fbd = new FolderBrowserDialog();
    if (fbd.ShowDialog() != System.Windows.Forms.DialogResult.OK)
    return;
    string path = fbd.SelectedPath;

    string[] files = Directory.GetFiles(path, "*.jpg", SearchOption.TopDirectoryOnly);
    List<Bitmap> imgs = new List<Bitmap>();
    for (int i = 0; i < files.Length; ++i)
    {
    imgs.Add(new Bitmap(files));
    }

    int x = 0, y = 0;

    foreach (Bitmap bmp in imgs)
    {
    PictureBox pb = new PictureBox()
    {
    Location = new Point(x * 110, y * 110),
    Height = 100,
    Width = 100,
    Image = bmp,
    };
    pb.SizeMode = PictureBoxSizeMode.StretchImage;
    ++x;
    if (x >= 5)
    {
    x = 0;
    ++y;
    }
    pb.Click += pb_Click;
    panel1.Controls.Add(pb);
    }
    panel1.AutoScroll = true;


    }




    void pb_Click(object sender, EventArgs e)
    {
    //panel1.Visible = false;
    if (klick == false)
    {
    PictureBox pb = new PictureBox()
    {
    Height = 500,
    Width = 600,
    Image = (sender as PictureBox).Image,
    Location = new Point(0, 60),
    Name = "pbBig",
    };
    pb.SizeMode = PictureBoxSizeMode.StretchImage;
    this.Controls.Add(pb);

    Button btn = new Button()
    {
    Text = "Bild schließen",
    Height = 23,
    Width = 100,
    Location = new Point(0, 30),
    };
    btn.Click += btn_Click;
    this.Controls.Add(btn);
    klick = true;
    }
    else
    {
    MessageBox.Show("Schließen sie zuerst das andere Bild");
    }


    }

    void btn_Click(object sender, EventArgs e)
    {
    this.Controls.Remove(this.Controls["pbBig"]);//PictureBox wieder entfernen, ungetestet
    this.Controls.Remove(sender as Button);//Button wieder entfernen
    panel1.Visible = true;
    klick = false;
    }


    ich bin fast am verzweifeln ... wie bekomme ich dies nur in eine Klasse :/

    Würde mich über HIlfe sehr freuen
    Mit freundlichen Grüßen
    Beyond
     
    #1 beyond123, 30. Mai 2013
  2. User Advert

Thema:

C#

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden