C# 切图,部分代码

本文提供了一个使用 C# 编写的示例程序,该程序可以将一张大图片按指定大小切割成多个小图片,并保存为独立文件。示例中详细展示了如何利用 System.Drawing 命名空间中的类来实现这一功能。
        public void GetImg() 
        {
            var imgPath = @"C:\Users\Public\Pictures\Sample Pictures\Koala.jpg";
            System.Drawing.Image image = new System.Drawing.Bitmap(imgPath);
            //   int iStep = 100;
            int iStep = 256;
            int iLeft = 0, iTop = 0, iWidth = iStep, iHeight = iStep;

            for (int i = 0; i < image.Height / iStep; i++)

            {
                iTop = i * iStep;
                for (int j = 0; j < image.Width / iStep; j++)
                {
                    iLeft = j * iStep;

                    // 目标区域
                    Rectangle destRect = new Rectangle(0, 0, iWidth, iHeight);
                    // 源图区域
                    Rectangle srcRect = new Rectangle(iLeft, iTop, iWidth, iHeight);

                    // 新建Graphics对象
                    Bitmap newImage = new Bitmap(iWidth, iHeight);
                    Graphics g = Graphics.FromImage(newImage);

                    // 绘图平滑程序
                    g.SmoothingMode = SmoothingMode.HighQuality;

                    // 图片输出质量
                    g.CompositingQuality = CompositingQuality.HighQuality;

                    // 输出到newImage对象
                    g.DrawImage(image, destRect, srcRect, GraphicsUnit.Pixel);

                    // 释放绘图对象
                    g.Dispose();


                    string strDestFile = string.Format(
                     "{0}//x{1}y{2}.jpg",
                     imgPath, iLeft, iTop, iStep
                     );
                    newImage.Save(strDestFile);

                }
            }

        }

 

转载于:https://www.cnblogs.com/LiMin/archive/2013/04/26/3044596.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值