Avatar billede andersasp Nybegynder
29. juni 2007 - 10:59 Der er 4 kommentarer

Resize billede med aspimage

Hejsa eksperter,

Jeg har et website hos web10 - hvor jeg bruger aspimage til at automatisk resize nogle billeder.. det virker umiddelbart også godt, men mange af billederne bliver meget grumset når de bliver mindre???  jeg har prøvet aspjpeg som er super godt, men det har web10 ikke på deres server.. er der evt. noget jeg kan gøre anderledes for at få et bedre resultat end det jeg gør nu???

På forhånd tak

ImageDir = "../../upload/billeder/"
ImageIn=server.mappath(ImageDir) &"\"
ImageOut=server.mappath(ImageDir&"thum") &"\"
Set objFS = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFS.GetFolder(Server.MapPath(ImageDir))
Set objFiles = objFolder.Files
For Each Image In objFiles
    img = Image.Name
    Set Image = Server.CreateObject("AspImage.Image")
    Image.AutoSize = false

    Image.LoadImage(ImageIn& img )
   
    X = Image.MaxX
    Y = Image.MaxY

    If X > 220 Then
            ResizedX = 220
            ResizedY = (ResizedX * Y/X)
    else
        ResizedX = X
        ResizedY = Y
    End if

    Image.Resize ResizedX, ResizedY
   
    Image.ImageFormat = 1
    Image.JPEGQuality = 100
   
    Image.FileName = (ImageIn & img )
    Image.SaveImage

    Image.LoadImage(ImageIn& img )
   
    X = Image.MaxX
    Y = Image.MaxY

If X > 80 Then
        ResizedX = 80
        ResizedY = (ResizedX * Y/X)
    else
        ResizedX = X
        ResizedY = Y
    End if

    Image.Resize ResizedX, ResizedY
   
    Image.ImageFormat = 1
    Image.JPEGQuality = 100

    Image.FileName = (ImageOut & img )
    Image.SaveImage


    Set Image = nothing

Next
Set objFS = Nothing
Avatar billede dobbelt_a Nybegynder
29. juni 2007 - 11:12 #1
hvad meget fylder billedet?
Avatar billede andersasp Nybegynder
29. juni 2007 - 11:21 #2
Som standard er det billeder taget med et digitalt kamera som bliver forminsket! så ca. ½-1 mb
Avatar billede w13 Novice
30. juni 2007 - 15:23 #3
Jeg har lavet følgende kode, som virker hos Web10, hvor jeg også har server. Man kan vælge en mappe, som skal resizes til en bredde, som man ønsker, samt definere billedernes kvalitet. Den er også let at redigere efter behov. For at nedenstående kode virker, skal strPictureFolder naturligvis rettes til mappen, som indeholder billedemapperne.
-----------------------------------------------------
compressimages.asp
-----------------------------------------------------
<%Response.Expires = -1
Server.ScriptTimeout = 1000
Session.LCID = 1030

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.GetFile(Server.MapPath(Request.ServerVariables("PATH_INFO")))
Set objFolder = objFile.ParentFolder
strSitePath = objFolder

strPictureFolder = "upload"%><html>
<head>
<title>Billedkomprimering</title>
</head>
<body>

<h2>Billedkomprimering</h2>

<h3>Vælg mappe</h3>

<%If Request.Querystring("mode") = "compress" Then
    strFolderPath = Request.Form("folder")

    Set fs = CreateObject("Scripting.FileSystemObject")
    Set folder = fs.GetFolder(strFolderPath)

    For Each item In folder.Files
        strImagePath = item.Path

        If fs.fileExists(strImagePath) Then
            Set myImg = loadpicture(strImagePath)
            intImgWidth = Request.Form("width")
            intImgHeight = round(myImg.height / 26.4583) / (round(myImg.width / 26.4583) / intImgWidth)

            Set Image = Server.CreateObject("AspImage.Image")
            Image.LoadImage strImagePath
            Image.Resize intImgWidth, intImgHeight
            Image.JPEGQuality = Request.Form("quality")
            Image.ImageFormat = 1
            Image.FileName = strImagePath
            Image.SaveImage
        End If
    Next

    Response.Write "<p>Billederne er komprimeret!</p>"
End If

Set fso = CreateObject("Scripting.FileSystemObject")
Set folderobject = fso.GetFolder(strSitePath & "/" & strPictureFolder)%>

<form method="post" action="?mode=compress">

<%Response.Write "<p><select name=""folder"">" & vbCrLf
For Each item In folderobject.SubFolders
    Response.Write "<option value=""" & item.Path & """>" & item.Name & "</option>" & vbCrLf
Next
Response.Write "</select></p>" & vbCrLf%>

<p>Bredde:<br>
<input type="text" name="width" value="704"></p>

<p>Kvalitet:<br>
<select name="quality">
<option value="100">100%</option>
<option value="90">90%</option>
<option value="80" selected="selected">80%</option>
<option value="70">70%</option>
<option value="60">60%</option>
<option value="50">50%</option>
<option value="40">40%</option>
</select></p>

<p><input type="submit" value="Udfør"></p>

</form>

</body>
</html>
Avatar billede w13 Novice
22. november 2007 - 23:18 #4
Fundet ud af noget?
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

Seneste spørgsmål Seneste aktivitet
I dag 16:10 Tomt felt i Start Af ErikHg i Windows
I går 23:00 Hyperlink til tekst Af Nanarsi i Excel
18/0121:03 Forlænge ringetid Af 1Dorte i Apps til Android
17/0117:38 Video ikoner Af Malm i Windows
17/0117:27 Video ikoner Af logbuilders i Windows