本文共 2327 字,大约阅读时间需要 7 分钟。
Public Shared Sub MakeSmallImg(ByVal postFile As System.Web.HttpPostedFile, ByVal saveImg As String, ByVal Width As System.Double, ByVal Height As System.Double)
Dim originalFilename As String = postFile.FileName '生成的高质量图片名称 Dim strGoodFile As String = saveImg '从文件取得图片对象 Dim image As System.Drawing.Image = System.Drawing.Image.FromStream(postFile.InputStream, True)Dim NewWidth, NewHeight As System.Double
If (image.Width > image.Height) ThenNewWidth = Width
NewHeight = image.Height * (NewWidth / image.Width)Else
NewHeight = Height
NewWidth = (NewHeight / image.Height) * image.Width End IfIf (NewWidth > Width) Then
NewWidth = Width
End If If (NewHeight > Height) ThenNewHeight = Height
End If'取得图片大小
Dim size As System.Drawing.Size = New System.Drawing.Size(CType(NewWidth, Integer), CType(NewHeight, Integer)) '新建一个bmp图片 Dim bitmap As System.Drawing.Image = New System.Drawing.Bitmap(size.Width, size.Height) '新建一个画板 Dim g As System.Drawing.Graphics = System.Drawing.Graphics.FromImage(bitmap) '设置高质量插值法 g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High '设置高质量,低速度呈现平滑程度 g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality '清空一下画布 g.Clear(Color.White) '在指定位置画图 g.DrawImage(image, New System.Drawing.Rectangle(0, 0, bitmap.Width, bitmap.Height), New System.Drawing.Rectangle(0, 0, image.Width, image.Height), System.Drawing.GraphicsUnit.Pixel)'文字水印
'System.Drawing.Graphics G=System.Drawing.Graphics.FromImage(bitmap); 'System.Drawing.Font f=new Font("宋体",10); 'System.Drawing.Brush b=new SolidBrush(Color.Black); 'G.DrawString("myohmine",f,b,10,10); 'G.Dispose();
'图片水印
'System.Drawing.Image copyImage = System.Drawing.Image.FromFile(System.Web.HttpContext.Current.Server.MapPath("pic/1.gif")); 'Graphics a = Graphics.FromImage(bitmap); 'a.DrawImage(copyImage, new Rectangle(bitmap.Width-copyImage.Width,bitmap.Height-copyImage.Height,copyImage.Width, copyImage.Height),0,0, copyImage.Width, copyImage.Height, GraphicsUnit.Pixel);'copyImage.Dispose();
'a.Dispose(); 'copyImage.Dispose(); '保存高清晰度的缩略图 bitmap.Save(strGoodFile, System.Drawing.Imaging.ImageFormat.Jpeg)g.Dispose()
image.Dispose() bitmap.Dispose()End Sub
MakeSmallImg(PhotoPath.PostedFile, filePath, 140, 185)本文转自kenty博客园博客,原文链接http://www.cnblogs.com/kentyshang/archive/2006/11/21/566950.html如需转载请自行联系原作者
kenty