Разбивка изображения на равные части - 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();
}
}
}