C#中Bitmap类实现对图像操作的一些方法(Asp.net(C#)-放大缩小图片尺寸)

导入以下两个包:
    System.Drawing;
      System.Drawing.Imaging;
建产对象:
     Bitmap bm = new Bitmap("c:/1.bmp");
缩放:
     Bitmap bm1 = new Bitmap(bm,width,height);
格式转换:
     bm.save("c:/1.jpg",ImageFromat.Jpeg);
     bm1.Save("c:/1.gif", ImageFormat.Gif);
剪切一个区域:
     //剪切大小
    int cutwidth;
      int cutheight;
     Graphics g;
     //以大小为剪切大小,像素格式为32位RGB创建一个位图对像
     Bitmap bm1 = new Bitmap(width,height,PixelFormat.Format32bppRgb) ;
    //定义一个区域
     Rectangle rg = new Rectangle(0,0,cutwidth,cutheight);
     //要绘制到的位图
     g = Graphics.FromImage(bm1);
     //将bm内rg所指定的区域绘制到bm1
     g.DrawImage(bm,rg)

 

Asp.net(C#)-放大缩小图片尺寸

 /// <summary>
    /// 放大缩小图片尺寸
    /// </summary>
    /// <param name="picPath"></param>
    /// <param name="reSizePicPath"></param>
    /// <param name="iSize"></param>
    /// <param name="format"></param>
    public void PicSized(string picPath, string reSizePicPath, int iSize, ImageFormat format)
    {
        Bitmap originBmp = new Bitmap(picPath);
        int w = originBmp.Width * iSize;
        int h = originBmp.Height * iSize;
        Bitmap resizedBmp = new Bitmap(w, h);
        Graphics g = Graphics.FromImage(resizedBmp);
        //设置高质量插值法  
        g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;
        //设置高质量,低速度呈现平滑程度  
        g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
        g.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
        //消除锯齿
        g.SmoothingMode = SmoothingMode.AntiAlias;
        g.DrawImage(originBmp, new Rectangle(0, 0, w, h), new Rectangle(0, 0, originBmp.Width, originBmp.Height), GraphicsUnit.Pixel);
        resizedBmp.Save(reSizePicPath, format);
        g.Dispose();
        resizedBmp.Dispose();
        originBmp.Dispose();
    } Asp.net(C)-放大缩小图片尺寸 - 潇湘客www.xzbwww.com - 潇湘客(华软英创工作室)

 

转载于:https://www.cnblogs.com/qfb620/archive/2010/05/22/1741519.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值