Ok jag har nu kommit fram till en punkt där jag har en länk, när man klickar på länken genereras länkar till olika kategorier av bilder, vid klick på dessa länkar skickas argument tillbaka till samma sida och alla filer i katalogen som länken syftar på listas som thumbnails vilka är länkade till den riktiga bilden. Detta innebär i praktiken att jag helt enkelt bara kastar upp nya kataloger/bilder och länkar/sidor innehållande dessa genereras automatiskt. Jättesmidigt! Men nu vill jag gå ett steg längre och slippa det eviga "resizandet" av bilder innan jag lägger upp dom, så.... Vad jag behöver är ett sätt att vid genereringen av sidorna skapa thumbnails automatiskt från käll-bilden samt ändra storlek på käll-bilderna så dom inte blir alltför stora.
Pseudo-kod för vad jag vill göra:
För alla bilder i katalogen...
1. Plocka ut en bild (kan redan göra)
2. Om storlek != 1024x768 lr 768x1024
2.1. Ändra storlek på denna bild till 1024x768 alt. 768x1024.
2.2. Spara om bilden.
3. Om ingen thumbnail finns
3.1. Skapa en thumbnail med storlek 60x45
3.2. Spara på given plats
4. Ge thumbnailen en länk till original-bilden
Detta innebär alltså att nya bilder som läggs upp fixas till enligt mönstret som jag vill ha dom. Gamla bilder skippas helt enkelt.
Hittade ett script för generering av thumbnails som var typ 3 A4 långt vilket kändes lite konstigt, så svårt ska det ju inte behöva vara =)
Koden so far:
Dim fso, rootFolder,subFolders
Set fso = Server.CreateObject("Scripting.FileSystemObject")
Set rootFolder = fso.GetFolder(Server.MapPath("/gfx/pics/"))
Set subFolders = rootFolder.SubFolders
For Each folder in subFolders
Response.write("<a class='photo_link' href='photos.asp?folder="
&Server.URLEncode(folder.Name) & "'>" & folder.Name & "</a><br>")
next
Set fso=nothing
Set rootFolder=nothing
Set subFolders=nothing
Dim fs,fo,x,folder
folder = Request.Querystring("folder")
if folder="none" then
Response.Write("")
else
Set fs=Server.CreateObject("Scripting.FileSystemObject")
Set fo=fs.GetFolder(Server.MapPath("/gfx/pics/"&folder))
Response.Write("<h3>"&folder&"</h3>")
end if
if folder="none" then
Response.Write("")
else
for each x in fo.files
Response.write("<a class='thumbail_link'
href='gfx/pics/"&folder&"/"&x.Name& "' target='_blank'>" &
"<img class='thumbnail_link' src='gfx/pics/"&folder&"/thumbs/thumb"
&x.Name&"'/>"&"</a>")
next
end if
Set fo=nothing
Set fs=nothing
Obs: lite fulkodat jag vet men det blir en senare fråga med uppsnyggning =)
Obs2: Första gången man kommer till sidan är "folder" satt till "none" (hittade ingen info om returvärdet från Request.Querystring om argumentet inte var satt så löste det så istället)
EDIT: Bah indenteringen funkade inte på min pseudo-kod, lade till numrering istället.