Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > .NET Languages
You last visited: Today at 17:49

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Multiple images in multiple Pictureboxes

Discussion on Multiple images in multiple Pictureboxes within the .NET Languages forum part of the Coders Den category.

Reply
 
Old   #1
 
KingwondA's Avatar
 
elite*gold: 312
Join Date: May 2013
Posts: 449
Received Thanks: 45
Multiple images in multiple Pictureboxes

Hi epvp,

ich hab derzeit ein kleines problemchen und zwar:
Ich möchte mehrere Bilder in insgesamt 12 vorgegebenen Pictureboxen laden, nur hab ich kein Plan wie ich dass anstellen soll, vermutlich über eine schleife aber trotzdem bekomm ichs einfach nicht hin...

hier mal der Code:
Code:
 #region Bildbearbeitung

        private void BildOeffnen_Click(object sender, EventArgs e)
        {
            newBitmap?.Dispose();

            var openFileDialog = new OpenFileDialog();
            openFileDialog.Title = "Bitte wählen Sie Ihr(e) Bild(er)";
            openFileDialog.Multiselect = true;
            openFileDialog.Filter = "JPG| *.jpg|JPEG|*.jpeg|GIF|*.gif|PNG|*.png";
            DialogResult dr = openFileDialog.ShowDialog();
            if (dr == DialogResult.OK)
            {
                newBitmap = new Bitmap(openFileDialog.FileName);
                file = Image.FromFile(openFileDialog.FileName);
                pictureBox1.Image = file;
                opened = true;
            }

            // Ordner Suche schließen
            openFileDialog.Dispose();
        }

        private void BildSpeichern_Click(object sender, EventArgs e)
        {
            // Eine Variable fürs Speichern initalisieren ("saveFileDialog")
            var saveFileDialog = new SaveFileDialog();
            // Dropdownmenü, welche Formate gepseichert werden können
            saveFileDialog.Filter = "JPG (*.jpg)|*.jpg|PNG (*.png)|*.png|GIF (*.gif)|*.gif|BMP (*.bmp)|*.bmp";
            saveFileDialog.AddExtension = true;

            DialogResult dr = saveFileDialog.ShowDialog();

            if (dr == DialogResult.OK)
            {
                if (opened)
                {
                    if (saveFileDialog.FileName.Substring(saveFileDialog.FileName.Length - 3).ToLower() == "bmp")
                    {
                        pictureBox1.Image.Save(saveFileDialog.FileName, ImageFormat.Bmp);
                    }
                    if (saveFileDialog.FileName.Substring(saveFileDialog.FileName.Length - 3).ToLower() == "jpg")
                    {
                        pictureBox1.Image.Save(saveFileDialog.FileName, ImageFormat.Jpeg);
                    }
                    if (saveFileDialog.FileName.Substring(saveFileDialog.FileName.Length - 3).ToLower() == "png")
                    {
                        pictureBox1.Image.Save(saveFileDialog.FileName, ImageFormat.Png);
                    }
                    if (saveFileDialog.FileName.Substring(saveFileDialog.FileName.Length - 3).ToLower() == "gif")
                    {
                        pictureBox1.Image.Save(saveFileDialog.FileName, ImageFormat.Gif);
                    }
                }
                else
                {
                    MessageBox.Show("Du musst zuerst ein Bild öffnen!");
                }
            }
        }

        private void trackBarBlur_Scroll(object sender, EventArgs e)
        {
            lblBlur.Text = trackBarBlur.Value.ToString() + " | 100";
            var blur = new GaussianBlur(newBitmap);
            pictureBox1.Image = blur.Process(trackBarBlur.Value);
        }

        private void trackBarKontrast_Scroll(object sender, EventArgs e)
        {
            lblKontrast.Text = trackBarKontrast.Value.ToString() + " | 100";
            Kontrastf = 0.04f * trackBarKontrast.Value;
            pictureBox1.Image = Kontrast.Kontrast_BerechnenHighLevelShit(newBitmap, Kontrastf);
        }
        #endregion
Durch die Zeile
Code:
openFileDialog.Multiselect = true;
Kann ich ja nun schon mehrere Bilder auswählen, diese müssen dann nur noch in die Picturebox geladen werden, eine Bild für eine Picturebox, sind mehr Bilder ausgewählt als es Pictureboxen gibt soll ne Fehlermeldung kommen.
KingwondA is offline  
Old 11/11/2018, 20:41   #2
 
.Inuyasha's Avatar
 
elite*gold: 0
Join Date: Jul 2013
Posts: 256
Received Thanks: 31
du kannst einfach die Pfade zu allen Dateien und deren Länge mit
Code:
//amountPictureBoxes ist hier die Anzahl deiner PictureBoxes
if (openFileDialog.FileNames.Count() <= amountPictureBoxes) 
    //Bilder hier über ne Methode in die PictureBoxes laden
else
   //Fehler schmeißen
überprüfen.
Danach schreibst du einfach ne Methode in der du alle deine PictureBoxes in ein Array holst, dann loopst du durch das Array deiner PictureBoxes und setzt die Bilder über die FileNames des filedialogs.
.Inuyasha is offline  
Old 11/11/2018, 20:42   #3
 
Ludder231's Avatar
 
elite*gold: 0
Join Date: Aug 2010
Posts: 880
Received Thanks: 113
Code:
OpenFileDialog ofd;
DialogResult result = ofd.ShowDialog();
if (result == DialogResult.OK)
{
  string[] filenames = ofd.FileNames;
  foreach (string filename in filenames)
  {
     DoSomethingWithFile(filename);
  }
}
Die Pictureboxen solltest du dynamisch zur Laufzeit erstellen und dann gleich in der Schleife mit einem Bild versehen.
Ludder231 is offline  
Old 11/11/2018, 22:14   #4
 
KingwondA's Avatar
 
elite*gold: 312
Join Date: May 2013
Posts: 449
Received Thanks: 45
Danke schonmal

Kann ich die Bilder dann trotzdem noch bearbeiten mit meinen Blur oder Kontrast effekt und alle samt wieder Speichern (also alle auf einmal)
KingwondA is offline  
Old 11/12/2018, 09:28   #5
 
Ludder231's Avatar
 
elite*gold: 0
Join Date: Aug 2010
Posts: 880
Received Thanks: 113
Quote:
Originally Posted by KingwondA View Post
Danke schonmal

Kann ich die Bilder dann trotzdem noch bearbeiten mit meinen Blur oder Kontrast effekt und alle samt wieder Speichern (also alle auf einmal)
Ja kannst du. Wenn du die Pictureboxes dynamisch erstellst kannst du ja einfach eine Referenz zu dem Control in einem Array/List speichern, dann kannste ganz leicht auf das Control zugreifen und auch auf das control.Image

PHP Code:
private void setPictureBoxes(Image[] images)
        {
            
int locY 0;
            
int locX 0;

           
            for (
int i 0images.Lengthi++)
            {

                
PictureBox pbFood = new PictureBox();
                
pbFood.Location = new Point(locXlocY);
                
pbFood.Name "pic" i;
                
pbFood.Size = new Size(6464);
                
pbFood.Image images[i];
                
pnlOptions.Controls.Add(pbFood); //Fügt das neue Control dem Panel hinzu
                
locX += 85;             

            }

Diese Funktion rufst du dann einfach auf nachdem du die Bilder in deinem Openfiledialog ausgewählt hast und natürlich wieder wenn du die Images mit deinem Kontrast/Blur bearbeitet hast.
Ludder231 is offline  
Reply


Similar Threads Similar Threads
Metin2 png images pack 300+ images
11/15/2014 - Metin2 PServer Guides & Strategies - 9 Replies
Hi, here is 300 piece png images pack, it is mobs, npc, character weapons, house and more images :) Link to download: https://www.rapidshare.com/#!download|306|19862143 22|CirilGyujtemeny.rar|63099 Please take thanks for upload. Password for extract: ciril
2 Questions, Selecting multiple coord & multiple inventory items
02/05/2013 - CO2 Private Server - 7 Replies
Need a hand with 2 things ive been tryin to work out but not had much luck so far. 1:Took this example from mining which sets the specific map, But how can you set multiple coords on the map so the action can only been done when standing in those coords rather then the entire map? switch (client.Entity.MapID) { case 1002: {



All times are GMT +1. The time now is 17:49.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.