Avatar billede ch007 Nybegynder
17. maj 2007 - 02:44 Der er 8 kommentarer og
1 løsning

Hente billede størrelse

Jeg henter billeder fra en mappe med:


Function ShowFolderList1()
    thumpwidth = "100"
    thumpheight = "100"
    counter = 1
    counter2 = 0
    folderspec = server.mappath("\grafik\forside-smaa\")
    Set fso = Server.CreateObject("Scripting.FileSystemObject")
    Set folder = fso.GetFolder(folderspec)
    Set foldercollection = folder.Files
    For Each file in foldercollection
    if lcase(right(file, 3)) = "jpg" OR lcase(right(file, 3)) = "gif" then
    tmp = tmp & "<img border='1' src='\grafik\forside-smaa\" & file.name & "' width='" & thumpwidth & "' height='" & thumpheight & "' bordercolor='black'><BR>"
    counter2 = counter2 + 1
    if counter2 = counter then
    tmp = tmp & "<BR>"
    counter2 = 0
    end if
    end if
    Next
    ShowFolderList1 = tmp
End Function
response.write showfolderlist1()




Men hvordan kan jeg hente størrelsen på billedet. Altså skriver følgende efter billedet:

Size: 0,5 mb
Height: 300 pixels
Width: 250 pixels
Avatar billede Slettet bruger
17. maj 2007 - 03:05 #1
Hej

det første men størrelsen på billedet kan du godt via fso - men det med dimensionerne på det (width*height) skal du bruge en billedkomponent til...

- dette kunne for eksempel være denne her:
http://83.72.1.38/imagesize.zip

- og så kunne dit script ovenfor sagtens forkortes en anelse... og så kunne billedets størrelse også sagtens være med her - det laver vi lige her:

thumpwidth="100"
thumpheight="100"
counter = 1
counter2 = 0
folderspec = "grafik/forside-smaa"
Set fso = Server.CreateObject("Scripting.FileSystemObject")
Set folder = fso.GetFolder(server.mappath(folderspec))
for each file in folder.files
filename = file.name
set filesize = fso.GetFile(server.mappath(folderspec & "\" & filename))
filesize2 = (filesize.size/(1024^2)) & " MB"
set filesize=nothing
counter2=counter2+1
response.write "<img border=""1"" src=""" & folderspec & "/" & filename & """ width=""" & thumpwidth & """ height=""" & thumpheight & """ bordercolor=""black"">" & filesize2 & "<br>"
if counter2=counter then
response.write "<br>"
counter2=0
end if
next   
set folder=nothing
set fso=nothing

\Dan
Avatar billede keysersoze Ekspert
17. maj 2007 - 10:45 #2
det er nu ikke helt rigtigt at dimensionerne ikke kan hentes med FSO; http://www.codewiki.us/index.php?title=Get_image_width_and_height_with_ASP
Avatar billede Slettet bruger
17. maj 2007 - 12:40 #3
Nej okay keysersoze der har du ret så... men jeg ville nu stadig altid foretrække en komponent til det i stedet...

\Dan
Avatar billede keysersoze Ekspert
17. maj 2007 - 13:20 #4
ingen tvivl om det :)
Avatar billede ch007 Nybegynder
18. maj 2007 - 14:11 #5
Hvad gør jeg galt her? Den udskriver intet og kommer ikke med en fejl-meddelse. Det er som om at den ikke finder noget billede:





<% 
Dim iWidth, iHeight, iType 
sub ImgDimension(img) 
Dim myImg, fs 
Set fs= CreateObject("Scripting.FileSystemObject") 
if not fs.fileExists(img) then exit sub 
set myImg = loadpicture(img) 
iWidth = round(myImg.width / 26.4583) 
iHeight = round(myImg.height / 26.4583) 
iType = myImg.Type 
select case iType 
case 0 
iType = "None" 
case 1 
iType = "Bitmap" 
case 2 
iType = "Metafile" 
case 3 
iType = "Icon" 
case 4 
iType = "Win32-enhanced metafile" 
end select 
set myImg = nothing 
end sub 
 
' so if you want to test it in asp just give the path to your image 
'ImgDimension(server.mappath("\grafik\forside-smaa\") & "\" & request.querystring("file")) 
ImgDimension(server.mappath("\grafik\forside-smaa") & "\cms-pic1.jpg")
'ImgDimension(Server.MapPath("cms-pic1.jpg"))
%> 



<% response.write(iWidth) %>



Det ligger et billede på mit hotel på:

grafik\forside-smaa\cms-pic1.jpg
Avatar billede keysersoze Ekspert
18. maj 2007 - 16:39 #6
som det første så find ud af hvor langt den når i din sub - altså om den exit'er i linie 6 eller om der bare ikke er en case der matcher.
Avatar billede ch007 Nybegynder
19. maj 2007 - 17:19 #7
Hvordan gør jeg det?

Men jeg tror den kører alt igennem...

Jeg havde nemlig skrevt sådan til slut en overgang:

<% response.write "Width: " & (iWidth) %>

Og den skrev: Width:, men ikke mere...
Avatar billede keysersoze Ekspert
20. maj 2007 - 00:27 #8
udskrive nogle flere værdier undervejs - fx en gang response.write "xxx" inde i hver case
Avatar billede keysersoze Ekspert
04. juli 2007 - 17:48 #9
lukketid?
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester