using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Collections;
using System.Diagnostics;
using System.IO;
namespace CopyPicture
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
List<Image> imageList = new List<Image>();
try
{
var path= Path.GetFullPath("..\\img.jpeg");
Image img = Image.FromFile(path);
imageList.Add(img);
imageList.Add(img);
imageList.Add(img);
var imageobj1 = JoinImage(imageList, JoinMode.Horizontal);
imageobj1.Save("..\\Newimg1.jpeg");
var imageobj2 = JoinImage(imageList, JoinMode.Vertical);
imageobj2.Save("..\\Newimg2.jpeg");
}
catch(Exception ee)
{
MessageBox.Show(ee.ToString());
}
}
enum JoinMode
{
Horizontal=0,
Vertical=1
}
private Image JoinImage(List<Image> imageList, JoinMode jm)
{
//图片列表
if (imageList.Count <= 0)
return null;
if (jm == JoinMode.Horizontal)
{
//横向拼接
int width = 0;
//计算总长度
foreach (Image i in imageList)
{
width += i.Width;
}
//高度不变
int height = imageList.Max(x => x.Height);
//构造最终的图片白板
Bitmap tableChartImage = new Bitmap(width, height);
Graphics graph = Graphics.FromImage(tableChartImage);
//初始化这个大图
graph.DrawImage(tableChartImage, width, height);
//初始化当前宽
int currentWidth = 0;
foreach (Image i in imageList)
{
//拼图
graph.DrawImage(i, currentWidth, 0);
//拼接改图后,当前宽度
currentWidth += i.Width;
}
return tableChartImage;
}
else if (jm == JoinMode.Vertical)
{
//纵向拼接
int height = 0;
//计算总长度
foreach (Image i in imageList)
{
height += i.Height;
}
//宽度不变
int width = imageList.Max(x => x.Width);
//构造最终的图片白板
Bitmap tableChartImage = new Bitmap(width, height);
Graphics graph = Graphics.FromImage(tableChartImage);
//初始化这个大图
graph.DrawImage(tableChartImage, width, height);
//初始化当前宽
int currentHeight = 0;
foreach (Image i in imageList)
{
//拼图
graph.DrawImage(i, 0, currentHeight);
//拼接改图后,当前宽度
currentHeight += i.Height;
}
return tableChartImage;
}
else
{
return null;
}
}
}
}
C#实现拼图效果
最新推荐文章于 2023-08-24 14:26:11 发布