Gå til innhold

Anbefalte innlegg

Jeg har 10 bilder som jeg skal bruke i sammenheng med et c#-program. Bildene har filnavn som "bilde1", "bilde2", "bilde3" osv... helt til "bilde10". Dersom jeg har lyst til å behandle alle disse bildene i en loop, finnes det en måte jeg kan gjøre det på?

 

Tullekode for vise problemet:

 


for (i = 0; i<10; i++)
	    (Image + i).Width = 200;

 

Takk for all hjelp!

Lenke til kommentar
Videoannonse
Annonse

public class ImageLooper
{
 private readonly List<Image> images;

 public ImageLooper(string directory)
 {

  images = (from file in System.IO.Directory.GetFiles("abc", "*.jpg")
            let regMatch = Regex.Match(file, "image(<?Index>[0-9]+)", RegexOptions.IgnoreCase)
		 where regMatch.Success
		 orderby int.Parse(regMatch.Groups["Index"].Value)
		 select System.Drawing.Image.FromFile(file)).ToList();
 }

 public Image GetImageWraparound(int index)
 {
   if(index < 0)
  index = (Images.Length - 1) - Math.Abs(index);
index %= Images.Length;
return images[index];
 }
}

 

Skrevet litt rett fra hodet, så vet ikke om det funker.

Endret av GeirGrusom
Lenke til kommentar

public class ImageLooper
{
 private readonly List<Image> images;

 public ImageLooper(string directory)
 {

  images = (from file in System.IO.Directory.GetFiles("abc", "*.jpg")
		 let regMatch = Regex.Match(file, "image(<?Index>[0-9]+)", RegexOptions.IgnoreCase)
		 where regMatch.Success
		 orderby int.Parse(regMatch.Groups["Index"].Value)
		 select System.Drawing.Image.FromFile(file)).ToList();
 }

 public Image GetImageWraparound(int index)
 {
if(index < 0)
  index = (Images.Length - 1) - Math.Abs(index);
index %= Images.Length;
return images[index];
 }
}

 

Skrevet litt rett fra hodet, så vet ikke om det funker.

 

 

Jeg kunne ca 10 % av syntaksen i det innlegget Men takk for innsatsen!

 

Er det slik at denne linjen her henter bildene manuelt?

images = (from file in System.IO.Directory.GetFiles("abc", "*.jpg")

 

Det jeg til syvende å sist prøver å oppnå, er å slippe å skrive inn bildenavnene én for én, uansett om det er i defineringen av arrayet. Oppgaveteksten i oppgaven sier at jeg skal tilrettelegge det slik at det blir lett å legge til flere bilder i programmet, selv om det i utgangspunktet kun gjelder fem forskjellige.

 

 

 

To alternativer:

string filnavn = "bilde" + i + ".jpg";

string filnavn = string.Format("bilde{0}.jpg", i);

 

Var det noe slik du tenkte?

 

Int16 bildeantall = 5;
    string[] filnavn = new string[5];
    for (Int16 i = 0; i<bildeantall; i++)
    {
	    filnavn[i] = "Image" + i + ".jpg";
           filnavn[i].ImageURL = "URL-til-bildet-mitt";
	    filnavn[i].Width = 200;
    }

 

Det virket dessverre ikke :sleep2:

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...