C#中处理图片的拼接


在动手前,先了解下两个概念:

位图:用像素点(块)来描述图形,效果逼真,画面有层次感,但放大后会失真,并且体积较大。

失量图:通过直线和曲线来描述图形,图形的元素包括点、线,矩形、圆、弧和椭圆等等,图形的展示可以通过公式来计算,线条的颜色和圈内外的着色。其放大不会失真且体积相对位图来说较小。


            try
            {
                Bitmap source; 
                Graphics resultGraphics;    //用来绘图的实例
                Image img1 = Image.FromFile(@"C:\Users\dang\Desktop\1.png");
                Image img2 = Image.FromFile(@"C:\Users\dang\Desktop\2.png");
                source = new Bitmap(img1.Width, img1.Height + img2.Height);

                resultGraphics = Graphics.FromImage(source); //以source大小来创建一块新的画布
                resultGraphics.DrawImage(img1, 0, 0, img1.Width, img1.Height);//先把img1画出
                resultGraphics.DrawImage(img2, 0, img1.Height, img2.Width, img2.Height);//找到img1的位置再把img2画出


                source.Save(@"C:\Users\dang\Desktop\12.png"); //不过保存的图片比较大,超过了两张之和。
                resultGraphics.Dispose();
            }
            catch (Exception er)
            {
                listBox1.Items.Add("图片合并出错:" + er.Message);           
            }

不过按上面的方法拼接起来的图片比两张图片加起来的大小大了不少,不知道各位有没有什么好的解决办法。

你可能感兴趣的:(C#开发)