Mit dieser Funktion kann man ein Bild in mehrere zerschneiden.
Benutzung:
SplitImage(@"C:\MeineBilder\Chicago.jpg", 128, 128, @"C:\MeineBilder\Split");
using System.Drawing;
using System.Drawing.Imaging;
/// <summary>
/// Splittet ein Bild in mehrere Einzelteile.
/// </summary>
/// <param name="path">Pfad zu der Bilddatei.</param>
/// <param name="imageX">X-Koordinate</param>
/// <param name="imageY">Y-Koordinate</param>
/// <param name="outputPath">Pfad zu dem Ordner, wo die Bilddateien gespeichert werden.</param>
public static void SplitImage(string path, int imageX, int imageY, string outputPath)
{
Bitmap original = new Bitmap(path);
Rectangle focusRectangle = new Rectangle();
Bitmap destination;
for (int x = 0; x <= imageX - 1; x++)
{
for (int y = 0; y <= imageY - 1; y++)
{
focusRectangle.X = x * (original.Width / imageX);
focusRectangle.Y = y * (original.Height / imageY);
focusRectangle.Height = original.Height / imageX;
focusRectangle.Width = original.Width / imageY;
destination = original.Clone(focusRectangle, PixelFormat.DontCare);
destination.Save(outputPath + @"\im" + x.ToString() + y.ToString() + ".jpg");
}
}
}
1 Kommentare zum Snippet