gdi+ 实现图片拼接排版合并
先添加System.Drawing.dll引用
c#实现拼图代码
using System.Drawing; using System.Drawing.Drawing2D; /////// ///图像宫格按行列拼接 合并 组合 ///ImageBitmapQueue 图像队列 ///CellColumns 列数 ///CellRows 行数 ////// public static Bitmap SplicingMatrix(this ListImageBitmapQueue, int CellColumns, int CellRows) { int CellWidth = (int)(ImageBitmapQueue.Max(e =>e.Width));//每格最大宽度 int CellHeight = (int)(ImageBitmapQueue.Max(e =>e.Height));//每个最大高度 Bitmap bitmap = new Bitmap(CellColumns * CellWidth, CellRows * CellHeight); Graphics g = Graphics.FromImage(bitmap); g.SmoothingMode = SmoothingMode.HighSpeed; g.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality; g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High; g.PixelOffsetMode = PixelOffsetMode.HighQuality; g.Clear(Color.Black); ///Graphics for (int i = 0; i < ImageBitmapQueue.Count; i++) { Bitmap MatrixBitmap = ImageBitmapQueue[i]; MatrixBitmap = new Bitmap(MatrixBitmap, new Size() { Width = MatrixBitmap.Width, Height = MatrixBitmap.Height }); int row = i / CellColumns; //行数 int column = i - (row * CellColumns); g.DrawImage(MatrixBitmap, new Point() { X = column * CellWidth, Y = row * CellHeight }); } g.Dispose(); return bitmap; }