打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
怎样用 c# GDI 截取一张图片的一部分,然后再替换另一张图片的一部分
主要利用://在指定位置画图            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);image:你的原图,System.Drawing.Rectangle:位置与长宽,根据自己需要设置!-------------------------------------------------------------------------------------------------------------- 实例如下:            public void MakeSmallImg(string filePath, string saveImg)        {            //从文件取得图片对象            System.Drawing.Image image = System.Drawing.Image.FromFile(filePath, true);                       //取得图片大小            System.Drawing.Size size = new System.Drawing.Size((int)image.Width, (int)image.Height);            //新建一个bmp图片            System.Drawing.Image bitmap = new System.Drawing.Bitmap(size.Width, size.Height);            //新建一个画板            System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(bitmap);            //设置高质量插值法            g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.Default;            //设置高质量,低速度呈现平滑程度            g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.Default;            //清空一下画布            g.Clear(System.Drawing.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);            //   加个a表示是缩略图            bitmap.Save(saveImg, System.Drawing.Imaging.ImageFormat.Jpeg);            g.Dispose();            image.Dispose();            bitmap.Dispose();        }
 
=====================================================
 

c#缩小图片后不清晰,要怎么缩小才能跟原来一样清晰。我用:System.Drawing.Bitmap缩小的。

正好之前有写过这个,不过是用的.net自带的api写的,如果想要弄的很好的话非常难,有兴趣可以看一下插值法,有若干种办法不一一列举。        /// <summary>        /// 获取缩小后的图片        /// </summary>        /// <param name="bm">要缩小的图片</param>        /// <param name="times">要缩小的倍数</param>        /// <returns></returns>        private Bitmap GetSmall(Bitmap bm, double times)        {            int nowWidth = (int)(bm.Width / times);            int nowHeight = (int)(bm.Height / times);            Bitmap newbm = new Bitmap(nowWidth, nowHeight);//新建一个放大后大小的图片            if (times >= 1 && times <= 1.1)            {                newbm = bm;            }            else            {                Graphics g = Graphics.FromImage(newbm);                g.InterpolationMode = InterpolationMode.HighQualityBicubic;                g.SmoothingMode = SmoothingMode.HighQuality;                g.CompositingQuality = CompositingQuality.HighQuality;                g.DrawImage(bm, new Rectangle(0, 0, nowWidth, nowHeight), new Rectangle(0, 0, bm.Width, bm.Height), GraphicsUnit.Pixel);                g.Dispose();            }            return newbm;        }
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
图片上传压缩成缩略图的代码
Android ImageView 总结
笔记10: 变换图像
C#图片压缩方法
Windows mobile 开发入门—控件开发(漂亮的进度条)
WinForm控件与WPF控件的交互
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服