Avatar billede mortency Nybegynder
13. oktober 2003 - 14:35 Der er 6 kommentarer og
1 løsning

Opplasting av billede, noen små feil ang bredde / høyde

Laster opp bilde.

Hvis bilde er større en 300 pixler i bredde eller høyde så skal den som er størst settes til 300 pixler.

Hvis ikke skal bilde bare lastes opp orginalt.

Hvis bredden eller høyden blir satt på bilde så skal den sjekke om du setter større bredde eller høyde enn orginal bilde. Hvis ikke større lagre bilde i ny høyde / bredde.

Scriptet jeg har lagd virker nesten som det skal bortsett fra at man ikke får satt en mindre høyde eller bredde på det.

'*******************************************
'CREATE IMAGE START
'*******************************************
If Upload.Form("ResizeOption") = "O" Then
   
    If strImageWidth > 300 OR strImageHeight > 300 Then
        If strImageWidth < strImageHeight Then
            jpeg.Open( File.Path )
            jpeg.Height = "300"
            jpeg.Width = jpeg.OriginalWidth * jpeg.Height / jpeg.OriginalHeight
            jpeg.Quality = 60
            SavePathWaterMark = Upload.Form("inpcatid") & "\" & File.ExtractFileName
            File.Delete
            jpeg.Save SavePathWaterMark                       
        Else
            jpeg.Open( File.Path )
            jpeg.Width = "300"
            jpeg.Height = jpeg.OriginalHeight * jpeg.Width / jpeg.OriginalWidth
            jpeg.Quality = 60
            SavePathWaterMark = Upload.Form("inpcatid") & "\" & File.ExtractFileName
            File.Delete
            jpeg.Save SavePathWaterMark
        End if
    Else
        jpeg.Open( File.Path )
        jpeg.Quality = 60
        SavePathWaterMark = Upload.Form("inpcatid") & "\" & File.ExtractFileName
        File.Delete
        jpeg.Save SavePathWaterMark
    End if

Elseif Upload.Form("ResizeOption") = "B" Then
        jpeg.Open( File.Path )
                                           
        If Upload.Form("NewWidth") > strImageWidth Then
            jpeg.Width = strImageWidth
        Else
            jpeg.Width = Upload.Form("NewWidth")
        End if
       
        jpeg.Height = jpeg.OriginalHeight * jpeg.Width / jpeg.OriginalWidth
        jpeg.Quality = 60
        SavePathWaterMark = Upload.Form("inpcatid") & "\" & File.ExtractFileName
        File.Delete
        jpeg.Save SavePathWaterMark
       
Elseif Upload.Form("ResizeOption") = "H" Then
       
        jpeg.Open( File.Path )
                                           
        If Upload.Form("NewHeight") > strImageHeight Then
            jpeg.Height = strImageHeight
        Else
            jpeg.Height = Upload.Form("NewHeight")
        End if                       

        jpeg.Width = jpeg.OriginalWidth * jpeg.Height / jpeg.OriginalHeight
        jpeg.Quality = 60
        SavePathWaterMark = Upload.Form("inpcatid") & "\" & File.ExtractFileName
        File.Delete
        jpeg.Save SavePathWaterMark
       
End if
'*******************************************
'CREATE IMAGE END
'*******************************************
Avatar billede dawin_dk Nybegynder
13. oktober 2003 - 18:36 #1
nu ved jeg ikke hvilken komponent du bruger... men jeg kan forestille mig at der skal være en resize-funktion der bliver kaldt.. ik bare at du sætter canvas til en anden størrelse...
Avatar billede mortency Nybegynder
14. oktober 2003 - 09:00 #2
//darwin_dk
Jeg bruker ASPJpeg fra www.persits.com

Feilen ved scriptet er at det ikke resize ved "Elseif Upload.Form("ResizeOption") = "B" Then" eller ved "Elseif Upload.Form("ResizeOption") = "H" Then"

        If Upload.Form("NewWidth") > strImageWidth Then
            jpeg.Width = strImageWidth
        Else
            jpeg.Width = Upload.Form("NewWidth")
        End if

Det kjører alltid denne linje -->jpeg.Width = strImageWidth Ikke jpeg.Width = Upload.Form("NewWidth")
Avatar billede danielmuhlig Nybegynder
14. oktober 2003 - 09:11 #3
Hjælper det, hvis du bruger CInt()?


        If CInt(Upload.Form("NewWidth")) > CInt(strImageWidth) Then
            jpeg.Width = strImageWidth
        Else
            jpeg.Width = Upload.Form("NewWidth")
        End if
Avatar billede mortency Nybegynder
14. oktober 2003 - 10:07 #4
Nei det hjelper ikke.

        If 150 > 1024 Then
            jpeg.Width = strImageWidth
            Response.Write ("1 " & strImageWidth & "-" & Upload.Form("NewWidth"))
        Else
            jpeg.Width = Upload.Form("NewWidth")
            Response.Write("2" & strImageWidth & "-" & Upload.Form("NewWidth"))
        End if

Da er den riktig selvom begge strengene inneholder data. Hvorfor vil den ikke ellers?
Avatar billede mortency Nybegynder
14. oktober 2003 - 10:11 #5
//danielmuhlig

Det du skrev virket. Jeg lærer aldri. Takk for hjelpen.

Post et svar så skal du få point.
Avatar billede danielmuhlig Nybegynder
14. oktober 2003 - 11:53 #6
Den har også drillet mig en del gange :-)
Avatar billede danielmuhlig Nybegynder
20. oktober 2003 - 16:19 #7
Skulle jeg have point?
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