webForumDet fria alternativet

Loopa ut genererade bilder

.NETur .NET

5 svar · 258 visningar · startad av Josef

JosefMedlem sedan mars 20023 561 inlägg
#1

Jag har en katalog innehållande bilder. Hur ska jag smartast loopa igenom dessa, så att jag jag kan få dessa bilder som enskilda objekt som jag kör genom funktionen MakeImage (se bifogad fil), och sedan visa dessa i en repeater?

Känns som att jag har förklarat otroligt luddigt. Fråga om ni inte förstår... :l

renholmMedlem sedan apr. 20012 266 inlägg
#2

Du missa att bifoga, ett vanligt förekommande för oss alla :)

Antingen sparar du bilderna på disk eller i minnet efter du kört funktionen MakeImage. Därefter beroende på hur du sparade bilderna får du göra en sida eller httphandler som anges som ImageUrl för bilderna i repeatern.

JosefMedlem sedan mars 20023 561 inlägg
#3

Kom att tänka på det ja... ;)

JosefMedlem sedan mars 20023 561 inlägg
#4

Det jag inte kan klura ut är hur jag ska loopa igenom alla bilder i en katalog, generara thumbnails av dem och sedan visa dessa i en repeater.

Någon som har en liten hint?

renholmMedlem sedan apr. 20012 266 inlägg
#5
foreach(string filepath in Directory.GetFiles("path till din mapp med bilder"))
{
   using(FileStream stream = new FileStream("sökväg till mapp att spara bilderna i\\" + Path.GetFileName(filepath), FileMode.Create))
   {
      byte[] bytes = MakeImage(filepath);
      stream.Write(bytes, 0, bytes.Length);
   }
}

Nu har du genererat thumbnails, detta bör inte göras varje gång någon går in på sidan som sedan ska visa bilderna. På den sidan har du då en repeater som du populerar med hjälp av Directory.GetFiles().

Detta är i grova drag hur man kan göra. Själv har jag löst det lite mer komplicerat då jag vid första besöket läser in och cachar thumbnails. På så sätt slipper man hålla reda på alla thumbnails eftersom de endast existerar i minnet på servern. Är ännu inte helt klar med den applikationen, men när den är kommer den finnas tillgänglig på min hemsida.

JosefMedlem sedan mars 20023 561 inlägg
#6

Tackar för detta.

*återgår till ritbordet (vs.net)*

125 ms totalt · 3 externa anrop · v20260731065814-full.29ac60f6
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)