25. april 2003 - 14:43Der er
9 kommentarer og 1 løsning
Autogenerering af thumbnail fra bibliotek ?
Jeg har nu været rundt på eksperten.dk og fundet mange eksempler på thumbnailsgeneratorer, men ingen som dur.
Jeg søger et script som kan tage et bibliotek på serveren, og udfra dette genererer thumbnails som fylder mindre end det store billede man kan få vist ved at trykke på thumbnailen. Det store billede skal vises i et nyt vindue.
Der skal være max. 8 billeder på hver side og max. 2 billeder i hver række. Billedstørrelsen skal være 150*113 med en sort kant på 1 pixel.
misforstaa mig nu ikke, men jeg tror altsaa at der skal flere point paa bordet hvis du skal have denne opgave loest. Har du porevet at bryde det ned i mindre dele? Find et script til paging, det kan sagtens skrives om saa det viser billeder, det er om ikke andet den samme teknik der skal til. Det burde hellere ikke vaere umuligt at finde et script som laver et thumbnail, og saa er der kun tilbage at skrive de to ting sammen.
hvorfor er det at folk ikke selv kan finde på noget selv. Vær dog lidt kreativ, tag lidt initiativ. Ingen grund til at være så afhængig af andre !
----------------------- codelib.asp-------
//////////////////////////////////////////////// // Function used for making the table // // with pictures stored in the same folder as // // the page the function is used on. // // Option: // // intMode, 0 for user, 1 for admin // ////////////////////////////////////////////////
Function ShowFolderList(intMode) Dim ImagesHorizontal, SImage, FSO, Folder, FolderCollection, file, filename, thumb, strDesc, IntCatfromDB, ImagesWritten
'How many pictures horizontally?? ImagesHorizontal = 3
Set SImage = Server.CreateObject("SImageUtil.Image") Set FSO = Server.CreateObject("Scripting.FileSystemObject") Set Folder = FSO.GetFolder(Server.MapPath(".")) Set FolderCollection = Folder.Files For Each file in FolderCollection If LCase(right(file, 3)) = "jpg" Then filename = file.name thumb = "thumb/"& filename strDesc = GetPictureDescription(filename)
' Create a thumbnail SImage.Thumb filename, 100, 100, thumb, 75
'Checks if the picture is horizontal or vertical, and add one of the two links If intMode = 0 Then ShowFolderList = ShowFolderList & "<td width=""250"" align=""center""> <img src='"& thumb &"' alt="""& strDesc &""">" If CheckImageHorVer(filename) = "Vertical" Then ShowFolderList = ShowFolderList & "<br><a href='view.asp?image=" & filename & "&height=768&width=1024'><ACRONYM TITLE=""Se billedet i 1024*768 opløsning"">1024*768</acronym></A>, <a href='view.asp?image=" & filename & "&height=480&width=640'><ACRONYM TITLE=""Se billedet i 640*480 opløsning"">640*480</acronym></A>" Else ShowFolderList = ShowFolderList & "<br><a href='view.asp?image=" & filename & "&height=1024&width=768'><ACRONYM TITLE=""Se billedet i 768*1024 opløsning"">768*1024<acronym></A>, <a href='view.asp?image=" & filename & "&height=640&width=480'><ACRONYM TITLE=""Se billedet i 480*640 opløsning"">480*640</acronym></A>" End if ShowFolderList = ShowFolderList & "<td width=""250"" align=""left"">"& strDesc &"</td>" End If
'Add the some admin-things if mode is 1 If intMode = 1 Then ShowFolderList = ShowFolderList & "<td width=""250"" align=""center""> <a href=""admin.asp?action=edit_desc&image="& filename &"""><img src='"& thumb &"' alt="""& strDesc &"""></a>" ShowFolderList = ShowFolderList & "<br>Slet: <input type=""checkbox"" name=""deletepictures"" value="""& filename &"""><br><!--<textarea rows=""5"" name="""& filename &""" cols=""20"">"& strDesc &"</textarea></td>" Else ShowFolderList = ShowFolderList & "</td>" End If
ImagesWritten = ImagesWritten + 1
'If the horizontal number is reached we will just begin a new row If ImagesWritten = ImagesHorizontal then ShowFolderList = ShowFolderList & "</tr><tr>" ImagesWritten = 0 End if End if Next End Function
/////////////////////////////////////////////// // Check if a image is horizontal or // // vertical. // // Option: // // strImage, the image to check // ///////////////////////////////////////////////
Function CheckImageHorVer(strImage) Dim SImage
Set SImage = Server.CreateObject("SImageUtil.Image") SImage.OpenImageFile(strImage) If SImage.Width - SImage.Height > 0 Then CheckImageHorVer = "Vertical" Else CheckImageHorVer = "Horizontal" End If SImage.Close() End Function
Når du skriver: "Billedstørrelsen skal være 150*113 med en sort kant på 1 pixel." Betyder det så at billederne skal laves fysik om altså generere en ny fil, eller må det blive styrete af img tagen så der ikke laves en ny fil?
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.