手头上有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这个图片。