这是我以前写的代码,因为代码写得很混乱,所以不敢拿出来见人 主要也是以前参考了C#的代码再根据自己的需要转换过来的.
Dim tempfilename As String
'高质量图像名称
imagefilename = Server.MapPath(".") & "\image\" & Now.Year.ToString & Now.Month.ToString & Now.Day.ToString & Now.Hour.ToString & Now.Minute & Now.Second.ToString & filetype
tempfilename = filename.PostedFile.FileName '原始图像
''大图生小图,生成统计长度
Dim image As System.Drawing.Image
image = System.Drawing.Image.FromFile(tempfilename)
'''''''按照比例相应缩小,
Dim iscal As Integer
If image.Width / 400 > image.Height / 300 Then
iscal = image.Width / 400
Else
iscal = image.Height / 300
End If
' If image.Width > 400 Or image.Height > 300 Then ''''设置是否要生成略缩图
'’取得图像大小的位置
Dim size As System.Drawing.Size
size = New System.Drawing.Size(image.Width / iscal, image.Height / iscal)
'新建一个图片()
Dim ibitmap As System.Drawing.Bitmap = New System.Drawing.Bitmap(size.Width, size.Height)
'新建一个画版
Dim g As System.Drawing.Graphics = System.Drawing.Graphics.FromImage(ibitmap)
'设置高质量插值法
g.InterpolationMode = Drawing.Drawing2D.InterpolationMode.High
'设置高质量,低速度呈现平滑程度
g.SmoothingMode = Drawing.Drawing2D.SmoothingMode.HighQuality
g.Clear(Color.Blue)
'在指定位置画图片
g.DrawImage(image, New System.Drawing.Rectangle(0, 0, ibitmap.Width, ibitmap.Height), _
New System.Drawing.Rectangle(0, 0, image.Width, image.Height), GraphicsUnit.Pixel)
If filetype = ".gif" Then
ibitmap.Save(imagefilename, System.Drawing.Imaging.ImageFormat.Gif)
End If
If filetype = ".jpg" Then
ibitmap.Save(imagefilename, System.Drawing.Imaging.ImageFormat.Jpeg)
End If
'取得原图像的普通缩略图
'Dim img As System.Drawing.Image = image.GetThumbnailImage(300, 200, null, IntPtr.Zero)
g.Dispose()
发表于 @ 2007年12月03日 18:13:00|评论(loading...)|编辑