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... Discussion in 'Software & Treiber' started by beyond123, May 30, 2013.

  1. beyond123
    beyond123 Grünschnabel
    Joined:
    May 30, 2013
    Messages:
    1
    Likes Received:
    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, May 30, 2013
Thema:

C#

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice