ASP.NET Image uploading with Resizing

前端 未结 14 1838
广开言路
广开言路 2020-11-30 01:27

I have an aspx page which will upload images to server harddisk from client pc

But now i need to change my program in such a way that it would allow me to resize the

14条回答
  •  野趣味
    野趣味 (楼主)
    2020-11-30 01:40

    You will not be able to resize "on the fly" since you will need to have the full image before you perform any image transformations. However, after the upload is complete and before you display any results to your user, you can use this basic image resizing method that I've used in a couple of my apps now:

       ''' 
       '''    Resize image with GDI+ so that image is nice and clear with required size.
       ''' 
       ''' Image to resize
       ''' New height to resize to.
       ''' New width to resize to.
       ''' Image object resized to new dimensions.
       ''' 
       Public Shared Function ImageResize(ByVal SourceImage As Image, ByVal NewHeight As Int32, ByVal NewWidth As Int32) As Image
    
          Dim bitmap As System.Drawing.Bitmap = New System.Drawing.Bitmap(NewWidth, NewHeight, SourceImage.PixelFormat)
    
          If bitmap.PixelFormat = Drawing.Imaging.PixelFormat.Format1bppIndexed Or _
              bitmap.PixelFormat = Drawing.Imaging.PixelFormat.Format4bppIndexed Or _
              bitmap.PixelFormat = Drawing.Imaging.PixelFormat.Format8bppIndexed Or _
              bitmap.PixelFormat = Drawing.Imaging.PixelFormat.Undefined Or _
              bitmap.PixelFormat = Drawing.Imaging.PixelFormat.DontCare Or _
              bitmap.PixelFormat = Drawing.Imaging.PixelFormat.Format16bppArgb1555 Or _
              bitmap.PixelFormat = Drawing.Imaging.PixelFormat.Format16bppGrayScale Then
             Throw New NotSupportedException("Pixel format of the image is not supported.")
          End If
    
          Dim graphicsImage As System.Drawing.Graphics = System.Drawing.Graphics.FromImage(bitmap)
    
          graphicsImage.SmoothingMode = Drawing.Drawing2D.SmoothingMode.HighQuality
          graphicsImage.InterpolationMode = Drawing.Drawing2D.InterpolationMode.HighQualityBicubic
          graphicsImage.DrawImage(SourceImage, 0, 0, bitmap.Width, bitmap.Height)
          graphicsImage.Dispose()
          Return bitmap
    
       End Function
    

提交回复
热议问题