Разбивка изображения на равные части - C#

Узнай цену своей работы

Формулировка задачи:

Нужно разбить исходную картинку на 8 одинаковых прямоугольных частей и сохранить каждую часть в отдельный Jpeg, haalp

Решение задачи: «Разбивка изображения на равные части»

textual
Листинг программы
using System.IO;
using System.Drawing;
 
namespace ConsoleApplication25
{
    class Program
    {
        static void Main(string[] args)
        {
            System.IO.FileStream fs = new System.IO.FileStream("test.jpg", System.IO.FileMode.Open);
            System.Drawing.Image img = System.Drawing.Image.FromStream(fs);
            fs.Close();
            Bitmap big = new Bitmap(img);
            Bitmap small = new Bitmap(big.Width / 2, big.Height / 4);
            var dinfo = Directory.CreateDirectory("Parts");
            using (var g = Graphics.FromImage(small))
            {
                for (int i = 0; i < big.Height; i += small.Height)
                {
                    for (int j = 0; j < big.Width; j += small.Width)
                    {
 
                        g.DrawImage(big, new Rectangle(0, 0, small.Width, small.Height), new Rectangle(j, i, small.Width, small.Height), GraphicsUnit.Pixel);
                        small.Save(dinfo.FullName + "" + (i / small.Height).ToString() + (j / small.Width).ToString() + ".jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
 
                    }
                }
            }
            big.Dispose();small.Dispose();
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.462 из 5
Похожие ответы