webForumDet fria alternativet

ladda endast upp bilder... och minskar ner orginalet?

.NET

1 svar · 312 visningar · startad av voigtann1

Medlem sedan juni 20019 519 inlägg
Frågan#1

jag använder mig av denna kod:

        If Not (myFile.PostedFile Is Nothing) Then
            Dim fileType As String = myFile.PostedFile.ContentType.ToString
            If fileType = "image/jpeg" Or fileType = "image/pjpeg" Or fileType = "image/gif" Then
                Dim intFileNameLength As Integer
                Dim strFileNamePath, strFileNameOnly As String

                'Logic to find the FileName (excluding the path)
                strFileNamePath = myFile.PostedFile.FileName
                intFileNameLength = InStr(1, StrReverse(strFileNamePath), "\")
                strFileNameOnly = Mid(strFileNamePath, (Len(strFileNamePath) - intFileNameLength) + 2)

                myFile.PostedFile.SaveAs(Server.MapPath("upload\" & strFileNameOnly))
                lblMsg.Text = "File Upload Success. <br/><strong>" & fileType & "</strong>"
                lblFileContentType.Text = "Content type: " & myFile.PostedFile.ContentType
                lblFileSize.Text = "File size: " & CStr(myFile.PostedFile.ContentLength) & " bytes"
            Else
                lblMsg.Text = ("Fel format")
            End If
        End If

Nu vill jag OM att bilden är större än 800x600 så skall den minskas ner (i rätt propertion) och spara den "nya" filen istället... i JPG format... finns det någon som kan hjälpa mig? någon artikel kanske?

Medlem sedan jan. 200475 inlägg
#2

kolla på följande sida:
http://www.bobpowell.net/

det du får göra är väl egenigen att läsa in bilden till ett bitmaps objekt. kolla storleken och sedan rita upp den i ett graphics objekt i rätt storlek och sedan spara den nya bilden genom ett nytt bitmapsobjekt.
psuedu kod:
Bitmap b = new Bitmap(fil);
Bitmap n = new Bitmap(800,600);
Graphics g = new graphics(n); // skall knytas till den nya bitmappen
g.paint(b, 800, 600);
spara n som nyfil.jpg

257 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)