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. NatokWa
    NatokWa Gast

    Dedizierte Grafikkarte ohne USB-C mit USB-C erweitern

    Gurdi schrieb: Da hänge ich mich mal ran, bedeutet dass das ohne IGPU kein Bild aus einem USB Port zu kitzeln ist? Zum Vergrößern anklicken....
    Genau das. Der DP-Modus von dem MAINBOARD-USB-C hängt "direkt" an der iGPU und kann AFAIK nur von dieser gefüttert werden.

    Mangels eigener Tests (und auch mangels möglichkeit das zu testen) kann ich allerdings keine 100% Belegbare Aussage treffen, ich gehe nur von dem aus was ich in anderen Zusammenhängen erlebt habe da ja z.B. auch bei AMD-Boards die DIsplayanschlüße auf dem MB absolut Tod sind wenn keine APU drauf gesetzt ist ABER sie problemlos genutzt werden können WENN eine APU mit aktivem Grafikteil verbaut ist OBWOHL eine Dedizierte GraKa verbaut ist und diese auch das Bild berechnet (was auch bei 2 GraKa's funzt). Bei Intel mit deaktivierter iGPU gilt natürlich das gleiche.
     
    #3 NatokWa
  3. flx23
    flx23 Gast

    Dedizierte Grafikkarte ohne USB-C mit USB-C erweitern

    Nop...

    Steht aber auch in der Beschreibung

    "Der USB 3.1 Typ C auf Dual Link DVI oder Single Link DVI aktive Adapter ist die einfachste Lösung um Ihre USB 3.1 Typ C Quelle mit DisplayPort Alternate Mode mit einem mit DVI-I ausgestatteten Monitor oder Projektor zu verbinden."
     
    #3 flx23
  4. Gurdi
    Gurdi Gast

    Dedizierte Grafikkarte ohne USB-C mit USB-C erweitern

    Da hänge ich mich mal ran, bedeutet dass das ohne IGPU kein Bild aus einem USB Port zu kitzeln ist?
     
    #3 Gurdi
  5. NatokWa
    NatokWa Gast

    Dedizierte Grafikkarte ohne USB-C mit USB-C erweitern

    Nein. Das Board würde nur DANN auf einem entsprechend geschalteten (Idr. Thunderbolt 3 fähigen) USB-C Anschluß ein Bild liefern wenn die CPU über eine Interne iGPU verfügt und diese auch AKTIV ist .
    Zudem müßen entsprechende Treiber für den DP-Modus für die Thunderbolt-Funktion installiert sein wobei DP hier das entscheidende ist.
    Für DVI bräuchte des dann normalerweise einen WEITEREN DP->DVI Adapter wo du ja selbst schon was gefunden hast allerdings "in einem Stück". Ich zweifel aber mal an der Qualität von dem Teil den spätestens bei "Deep Color 12 Bit", was jenseits von HDR (10Bit idr.) liegt, für 50€ stellen sich mir die Nackenhaare auf wenn ich sehe was gute Adapter idr. gerne mal kosten .....
    Zumal herkömmliche GraKa's mehr als genug Ausgänge haben heutzutage und von HDMI zu DVI ist viel einfacher zu realisieren da dort schon passive Adapter reichen.
     
    #3 NatokWa
  6. Gurdi
    Gurdi Gast

    Dedizierte Grafikkarte ohne USB-C mit USB-C erweitern

    Ich versuche derzeit bei einem bekannten via USB ein 5tes Panel anzuhängen da die NV Karten lediglich maximal 4 Panels verwalten können. Das würde erklären warum ich da semi Erfolgreich bin.
     
    #3 Gurdi
Thema:

C#

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