将多个图片拼接为一张图片的方法
手头上有0到9共10个数字的小图片,现在需要将它们拼接为一个多位的整数图片。在.NET中可以利用位图配合Graphics来做到这一点。
首先我们需要创建一个新的位图作为拼接后的结果,然后从中创建出一个Graphics类的实例用于绘画:
Bitmap resultImg; //存放最终拼接结果的图片
Graphics resultGraphics; //用来绘图的实例
resultImg = new Bitmap(45 * 4, 60); //每单个数字图片的宽度是45像素,高度是60像素,这里显示4位长度的整数
resultGraphics = Graphics.FromImage(resultImg);
Graphics resultGraphics; //用来绘图的实例
resultImg = new Bitmap(45 * 4, 60); //每单个数字图片的宽度是45像素,高度是60像素,这里显示4位长度的整数
resultGraphics = Graphics.FromImage(resultImg);
然后构建一个存放小图片文件路径的数组,利用循环将每个小图片依次从左到右画到位图中,最后将位图作为PictureBox控件的图片源即可:
string[] numberImgPath = { "0.jpg", "3.jpg", "1.jpg", "7.jpg" };
for (int i = 0; i < numberImgPath.Length; i++)
{
resultGraphics.DrawImage(Image.FromFile(numberImgPath[i]), 45 * i, 60);
}
resultGraphics.Dispose();
pictureBox.Image = resultImg;
for (int i = 0; i < numberImgPath.Length; i++)
{
resultGraphics.DrawImage(Image.FromFile(numberImgPath[i]), 45 * i, 60);
}
resultGraphics.Dispose();
pictureBox.Image = resultImg;
注意以上代码,其中45是单个数字小图片的宽度,60是高度。
以上代码执行之后,就会显示出0317这个图片。
理解的越多,需要记忆的就越少