1. 程式人生 > >C# 切分圖片

C# 切分圖片

怎麽 param mfile CA pan eight span RM 圖片

        public void Slice()
        {
            // 圖片路徑
            var file = "F;/aaa.png";
            // 水平切分
            int horizontal = 4;
            // 縱向切分
            int vertical = 4;
            for (int i = 0; i < horizontal * vertical; i++)
            {
                using (Image image = Image.FromFile(file, true
)) { // 每一塊的高 int s_h = image.Height / horizontal; // 每一塊的寬 int s_w = image.Width / vertical; // 整除判斷自己加吧,懶得寫了 /* 0,0 ; 1,0 ; 2,0 ; 3,0 0,1 ; 1,1 ; 2,1 ; 3,1 0,2 ; 1,2 ; 2,2 ; 3,2 0,3 ; 1,3 ; 2,3 ; 3,3
*/ // 左上角為0,0 var rect = new Rectangle(); rect.X = i % vertical * s_w; rect.Y = i / horizontal * s_h; rect.Width = s_w; rect.Height = s_h; CutForCustom(image, "xxx"+i+"
.png", rect); } } } /// <summary> /// 切圖 /// </summary> /// <param name="image">圖源</param> /// <param name="fileSaveUrl">要保存的文件名</param> /// <param name="rect">位置大小</param> public void CutForCustom(Image image, string fileSaveUrl, Rectangle rect) { var templateImage = new Bitmap(image); var bitCrop = templateImage.Clone(rect, System.Drawing.Imaging.PixelFormat.Format32bppArgb); bitCrop.Save(fileSaveUrl); bitCrop.Dispose(); templateImage.Dispose(); image.Dispose(); }

具體文件怎麽來就隨意了。如果切分的塊數不能整除也可以,只是會丟失,自己補足一下會更復雜了

C# 切分圖片