.net上传图片并按照宽度高度比例缩小显示

 Try
            Open1.Filter = "位图 文件 (*.bmp),jpg 文件 (*.jpg)|*.bmp;*.jpg"
            If Open1.ShowDialog() = Windows.Forms.DialogResult.OK Then
                If Open1.CheckFileExists Then
                    'PictureBox2.Image = Image.FromFile(Open1.FileName)
                    '
                    Dim simage As Image
                    simage = Image.FromFile(Open1.FileName)
                    Dim width As Decimal = simage.Width '得到原图的宽
                    Dim height As Decimal = simage.Height '得到原图的高
                    Dim newwidth, newheight As Integer
                    '设置缩略图的高和宽
                    If width < 800 And height < 500 Then
                        newwidth = width
                        newheight = height
                    Else
                        If (width > height) Then
                            newwidth = 700
                            newheight = CInt(height / width * 700)
                        Else
                            newheight = 500
                            newwidth = CInt(width / height * 500)
                        End If
                    End If

                    Dim bmp As New Bitmap(newwidth, newheight)
                    Dim g As Graphics = Graphics.FromImage(bmp)
                    g.InterpolationMode = Drawing2D.InterpolationMode.High
                    g.SmoothingMode = Drawing2D.SmoothingMode.HighQuality
                    ' g.Clear(Color.Blue)
                    'simage = simage.GetThumbnailImage(newwidth, newheight, Nothing, IntPtr.Zero)
                    g.DrawImage(simage, New Rectangle(0, 0, newwidth, newheight), New Rectangle(0, 0, width, height), GraphicsUnit.Pixel)

                    PictureBox2.Image = bmp

                    GroupBox3.Width = PictureBox2.Width + 30

                Else

                    MsgBox("您所选择的文件无效!", MsgBoxStyle.Information, "无效文件")
                    Exit Sub
                End If
            End If
        Catch ex As Exception
            MsgBox("发生错误,错误原因:" & ex.ToString)
        End Try

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值