📄 getclipimage.cs
字号:
using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
public class getClipImage
{
/// <summary>
/// 切割图片
/// </summary>
/// <param name="source">源图片</param>
/// <param name="rows">行数</param>
/// <param name="cols">列数</param>
/// <param name="cutWidth">要得到的小图片的宽</param>
/// <param name="cutHeight">要得到的小图片的高</param>
/// <returns>返回假2维数组</returns>
public static Image[,] getImages(Image source, int rows, int cols, int cutWidth, int cutHeight)
{
Image[,] img = new Image[rows, cols];
Rectangle destRec = new Rectangle(0, 0, cutWidth, cutHeight);
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < cols; j++)
{
Image clip = new Bitmap(cutWidth, cutHeight);
Graphics g = Graphics.FromImage(clip);
Rectangle srcRec = new Rectangle(j * cutWidth, i * cutHeight, cutWidth, cutHeight);
g.DrawImage(source, destRec, srcRec, GraphicsUnit.Pixel);
img[i, j] = clip;
}
}
return img;
}
/// <summary>
/// 切割图片(自动计算小图片的宽,高)
/// </summary>
/// <param name="source">源图片</param>
/// <param name="rows">行数</param>
/// <param name="cols">列数</param>
/// <returns>返回1维数组</returns>
public static Image[] getImages(Image source, int rows, int cols)
{
Image[] img = new Image[rows * cols];
int width = source.Width / cols;
int height = source.Height / rows;
Rectangle destRec = new Rectangle(0, 0, width, height);
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < cols; j++)
{
Image clip = new Bitmap(width, height);
Graphics g = Graphics.FromImage(clip);
Rectangle srcRec = new Rectangle(j * width, i * height, width, height);
g.DrawImage(source, destRec, srcRec, GraphicsUnit.Pixel);
img[i * cols + j] = clip;
}
}
return img;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -