上传图片并生成缩略图(ASP.NET+VB.NET)

类别:Asp 点击:0 评论:0 推荐:

    Sub upimages()
        Dim iname As String
        If Not (fileup.PostedFile Is Nothing) Then
            Dim namestr1 As String = (fileup.PostedFile.FileName)
            If LCase(fileup.PostedFile.ContentType.ToString()) = "image/pjpeg" Or LCase(fileup.PostedFile.ContentType.ToString()) = "image/jpg" Then
              Dim j As Integer = namestr1.LastIndexOf(".")
              Dim newname As String = namestr1.Substring(j) '圖片得到後輟名
              iname = CStr(Now.ToFileTimeUtc) '隨機的文件名(不會重復)
              Dim newnames As String = iname + newname '重新組合文件名
              Dim i As Integer = namestr1.LastIndexOf("\") + 1
              Dim namestr As String = namestr1.Substring(i)
              fileup.PostedFile.SaveAs(Server.MapPath(imagelocal) + "\" + newnames) '保存文件到imagelocal文件夾
              '生成縮略圖()
              Dim image, sImage As System.Drawing.Image
              image = System.Drawing.Image.FromStream(fileup.PostedFile.InputStream)'得到原图
              Dim width As Decimal = image.Width过且过'得到原图的宽
              Dim height As Decimal = image.Height'得到原图的高
              Dim newwidth, newheight As Integer
              '设置缩略图的高和宽
              If (width > height) Then
                  newwidth = 150
                  newheight = CInt(height / width * 150)
              Else
                   newheight = 150
                   newwidth = CInt(width / height * 150)
              End If
              sImage = image.GetThumbnailImage(newwidth, newheight, Nothing, IntPtr.Zero)
                Dim x As Integer = sImage.Width / 2 - 30
                Dim y As Integer = sImage.Height - 20
               Dim output As Bitmap = New Bitmap(sImage)
               Dim g As Graphics = Graphics.FromImage(output)
               '    給縮略圖加上版權信息()
                Dim fonts As New Font("Courier New", 9)
                g.DrawString("版權信息", fonts, New SolidBrush(Color.Red), x, y)
               output.Save(Server.MapPath("Simagelocal") + "\s_" + newnames, System.Drawing.Imaging.ImageFormat.Jpeg) 
              '保存縮略圖到Simagelocal文件夾
                Image1.Visible=true;
               Image1.ImageUrl = "Simagelocal" + "\s_" + newnames

            Else
               Label1.Text = "請選擇jpg類型的圖片"

            End If
        End If
    End Sub

本文地址:http://com.8s8s.com/it/it8444.htm