Gå til innhold

Anbefalte innlegg

Skrevet

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!

Videoannonse
Annonse
Skrevet (endret)

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
Skrevet

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:

Skrevet

Hvordan kan du bruke ImageURL og Width på en string? Det virker ikke fordi det kan ikke kompilere.

Du må lage et Image objekt og bruke FromFile(string).

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...