/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Indsætte tilfældigt billede i bestemt stør~
Fra : Michael Tillgaard


Dato : 01-04-04 12:30

Nedenstående viser et tilfældigt billede fra et bibliotek, fint nok.
Hvordan få jeg det til at vise billedet i en fast størrelse fx.
width="200" height="135" ?

<%
Function RandomImage(ImagesFolderPath, ImageFileTypes, ImageDescription)

'Declare variables
Dim CompleteImagesFolderPath
Dim FileSystemObject
Dim ImageFolder
Dim Files
Dim i
Dim ImageFiles
Dim File
Dim FileName
Dim FileExtension
Dim RandomNumber

'Find the complete path to image folder by using Server.MapPath
CompleteImagesFolderPath = Server.MapPath(ImagesFolderPath)

'Create an instance of the FileSystemObject which allows ASP to
'access the file system
Set FileSystemObject = Server.CreateObject("Scripting.FileSystemObject")

'Check that the folder containing the images exists
If Not FileSystemObject.FolderExists(CompleteImagesFolderPath) Then
RandomImage = "Error 0: Cannot find requested folder"
Set FileSystemObject = nothing
Exit Function
End If

'Get the folder containing the images
Set ImageFolder = FileSystemObject.GetFolder(CompleteImagesFolderPath)

'Get a list of all the files within the images folder
Set Files = ImageFolder.Files

'Use a dictionary object to temporarily store the image file names
i = 1
Set ImageFiles = Server.CreateObject("Scripting.Dictionary")

'Loop through the list of files within the images folder.
'If the file has a file extension that is in the list of
'file types specified in the ImageFileTypes function parameter,
'then add the file name to the ImageFiles dictionary object
For Each File in Files

FileName = File.Name
FileExtension = Right(FileName, Len(FileName) - (InStrRev(FileName, ".")))

If InStr(1,ImageFileTypes,FileExtension,vbTextCompare) > 0 then
ImageFiles.Add i, FileName
i = i + 1
End If

Next

'Destroy objects that are no longer required
Set ImageFolder = nothing
Set Files = nothing
Set FileSystemObject = nothing

'Initialise the random number generator
Randomize

' Check that image file(s) have been found
If ImageFiles.Count = 0 Then
RandomImage = "Error 1: Requested folder does not contain any image files"
Exit Function
End If

'Generate a random number between 1 and the number of image files
RandomNumber = Int((ImageFiles.Count) * Rnd + 1)

'Return a hyperlink to a random image file
RandomImage = "<img src=" & Chr(34) & ImagesFolderPath &
ImageFiles.Item(RandomNumber) & Chr(34) & " alt=" & Chr(34) &
ImageDescription & Chr(34) & ">"

Set ImageFiles = nothing

End Function
%>

Her sættes billedet ind.

<%Response.Write RandomImage("images/", "gif jpeg", "My Image")%>


M.v.h.

Michael



---
Denne mail er scannet for virus med AVG 6.0 og ingen virus er fundet.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.644 / Virus Database: 412 - Release Date: 26-03-2004



 
 
Jens Gyldenkærne Cla~ (01-04-2004)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 01-04-04 12:44

Michael Tillgaard skrev:

> Nedenstående viser et tilfældigt billede fra et bibliotek,
> fint nok. Hvordan få jeg det til at vise billedet i en fast
> størrelse fx. width="200" height="135" ?

Du kan vel bare sætte width og height på img-koden.

> 'Return a hyperlink to a random image file
> RandomImage = "<img src=" & Chr(34) & ImagesFolderPath &
> ImageFiles.Item(RandomNumber) & Chr(34) & " alt=" & Chr(34) &
> ImageDescription & Chr(34) & ">"

Erstat den sidste ">" med:

   " width=""200"" height=""135"">"

Det vil dog være browseren der skalerer billedet her - det kan give
et skævvredent billede hvis de oprindelige mål har et andet
bredde/højde-forhold.

Du kan også skalere billedet med fx ASPImage - hvis den er
installeret. Men performancemæssigt kan det nok bedre svare sig at
konvertere alle billederne til det ønskede format en gang for alle.
Det kan fx gøres med IrfanView.

NB: Hvis du gerne vil have din ImageDescription vist som pop op-
tekst til billederne i andet end Internet Explorer, bør du bruge
title i stedet for alt. Alt-parameteren skal vises i stedet for et
billede, mens title-parameteren skal vises sammen med billedet.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste