困扰我二天的 GDI+ 图像剪切已经解决。

我要从一张照片剪切一部分图像下来,查了二天的资料没有解决。后来看到下面的地址跟我有一样的问题,解决方法也是从他那里来的。
www.lemongtree.com/zh-cn/item.0000543.aspx

困扰我二天的 GDI+ 图像剪切已经解决。     Dim  SourceImg  As  System.Drawing.Image  =  System.Drawing.Image.FromStream( Me .FileUpload1.PostedFile.InputStream)
困扰我二天的 GDI+ 图像剪切已经解决。        
Dim  SourceImgWidth  As   Integer   =  SourceImg.Width  ' 图片的原始Width 
困扰我二天的 GDI+ 图像剪切已经解决。
         Dim  SourceImgHeight  As   Integer   =  SourceImg.Height  ' 图片的原始Height 
困扰我二天的 GDI+ 图像剪切已经解决。

困扰我二天的 GDI+ 图像剪切已经解决。        
Dim  bit  As   New  Bitmap(SourceImg)
困扰我二天的 GDI+ 图像剪切已经解决。
困扰我二天的 GDI+ 图像剪切已经解决。
困扰我二天的 GDI+ 图像剪切已经解决。        
Dim  rec  As   New  Rectangle()  ' 构造一个Rectangle类,一个矩形 
困扰我二天的 GDI+ 图像剪切已经解决。
        rec.Width  =   100   ' ConfigHelper.UserFaceWidth
困扰我二天的 GDI+ 图像剪切已经解决。
        rec.Height  =   100   ' ConfigHelper.UserFaceHeight
困扰我二天的 GDI+ 图像剪切已经解决。

困扰我二天的 GDI+ 图像剪切已经解决。        
If  SourceImgWidth  >  rec.Width  Then
困扰我二天的 GDI+ 图像剪切已经解决。            rec.X 
=   20   ' (SourceImgWidth - rec.Width) / 2
困扰我二天的 GDI+ 图像剪切已经解决。
         Else
困扰我二天的 GDI+ 图像剪切已经解决。            rec.X 
=   0
困扰我二天的 GDI+ 图像剪切已经解决。            rec.Width 
=  SourceImg.Width
困扰我二天的 GDI+ 图像剪切已经解决。        
End   If
困扰我二天的 GDI+ 图像剪切已经解决。
困扰我二天的 GDI+ 图像剪切已经解决。        
If  SourceImgHeight  >  rec.Height  Then
困扰我二天的 GDI+ 图像剪切已经解决。            rec.Y 
=   20   ' (SourceImgHeight - rec.Height) / 2
困扰我二天的 GDI+ 图像剪切已经解决。
         Else
困扰我二天的 GDI+ 图像剪切已经解决。            rec.Y 
=   0
困扰我二天的 GDI+ 图像剪切已经解决。            rec.Height 
=  SourceImg.Height
困扰我二天的 GDI+ 图像剪切已经解决。        
End   If
困扰我二天的 GDI+ 图像剪切已经解决。
困扰我二天的 GDI+ 图像剪切已经解决。        
Try
困扰我二天的 GDI+ 图像剪切已经解决。            
' 这里就是把从上传过程中构造的bitmap克隆一份,并按定义好的矩形裁剪 
困扰我二天的 GDI+ 图像剪切已经解决。
            bit.Clone(rec, PixelFormat.DontCare).Save(Response.OutputStream, ImageFormat.Jpeg)
困扰我二天的 GDI+ 图像剪切已经解决。
困扰我二天的 GDI+ 图像剪切已经解决。        
Catch  ex  As  Exception
困扰我二天的 GDI+ 图像剪切已经解决。            Context.Response.Write(ex.Message)
困扰我二天的 GDI+ 图像剪切已经解决。            
Exit Sub
困扰我二天的 GDI+ 图像剪切已经解决。        
Finally
困扰我二天的 GDI+ 图像剪切已经解决。            bit.Dispose()
困扰我二天的 GDI+ 图像剪切已经解决。            SourceImg.Dispose()
困扰我二天的 GDI+ 图像剪切已经解决。        
End   Try

你可能感兴趣的:(DI)