您的位置:首页 > 其它

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

2010-09-08 14:22 585 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: