C#图像合成(2副图像合成一幅,无像素比较)

时间:2023-02-10 20:21:17
1、如题。两张图片(图片1.jpeg,图片2.jpeg)。
2、大小一样。
3、把图片2.jpeg缩小为图片1.jpeg大小的1/9。
4、图片1和图片2合成一个图片,其中图片2.jpeg在图片1.jpeg的右上角(图片1大小分成9份,它在图片1的第3/9处)。
5、就是图片嵌套,图片2.jpeg直接覆盖在图片1.jpeg的3/9处。
不知道我说明白了没有?剩下58分了,全上!!刚结贴了一个 再加42分

7 个解决方案

#1


Bitmap bmp1 = new Bitmap("1.jpeg");
Bitmap bmp2 = new Bitmap("2.jpeg");
using (Graphics g = Graphics.FromImage(bmp1))
{
    Size size = new Size(bmp1.Width / 3, bmp1.Height / 3);
    Rectangle rect = new Rectangle( new Point(bmp1.Width - size.Width, 0), size );
    g.DrawImage(bmp2, rect, new Rectangle(0, 0, bmp2.Width, bmp2.Height), GraphicsUnit.Pixel);
}

#2


Graphics的DrawImage函数。图片缩放、合成、指定坐标可以全靠它~

#3


我先去试试一楼的,谢谢,谁还有其他好的办法也说出来,谢谢。

#4


引用 1 楼 gomoku 的回复:
C# code
Bitmap bmp1 = new Bitmap("1.jpeg");
Bitmap bmp2 = new Bitmap("2.jpeg");
using (Graphics g = Graphics.FromImage(bmp1))
{
    Size size = new Size(bmp1.Width / 3, bmp1.Height / 3);
    Rec……


小弟不才,刚试了一下你的这个没有实现。能再指点下吗?你这样是重新生成了一个图片呢?还是在原有的图片上直接绘制的呢?我就这样找了两个图片试了半天还是不行啊?图片没有反应。

#5


引用 4 楼 dongjianhua520520 的回复:

小弟不才,刚试了一下你的这个没有实现。能再指点下吗?你这样是重新生成了一个图片呢?还是在原有的图片上直接绘制的呢?我就这样找了两个图片试了半天还是不行啊?图片没有反应。

Bitmap bmp1 = new Bitmap("1.jpeg");
Bitmap bmp2 = new Bitmap("2.jpeg");
using (Graphics g = Graphics.FromImage(bmp1))
{
    Size size = new Size(bmp1.Width / 3, bmp1.Height / 3);
    Rectangle rect = new Rectangle( new Point(bmp1.Width - size.Width, 0), size );
    g.DrawImage(bmp2, rect, new Rectangle(0, 0, bmp2.Width, bmp2.Height), GraphicsUnit.Pixel);
    bmp1.Save("3.bmp");//保存为第三个文件
}


你加上保存文件就可以了。

#6


该回复于2010-12-02 16:58:03被版主删除

#7


引用 5 楼 wuyazhe 的回复:
引用 4 楼 dongjianhua520520 的回复:

小弟不才,刚试了一下你的这个没有实现。能再指点下吗?你这样是重新生成了一个图片呢?还是在原有的图片上直接绘制的呢?我就这样找了两个图片试了半天还是不行啊?图片没有反应。

C# code

Bitmap bmp1 = new Bitmap("1.jpeg");
Bitmap bmp2 = new Bitmap("2.jpe……

谢谢。结贴给分.

#1


Bitmap bmp1 = new Bitmap("1.jpeg");
Bitmap bmp2 = new Bitmap("2.jpeg");
using (Graphics g = Graphics.FromImage(bmp1))
{
    Size size = new Size(bmp1.Width / 3, bmp1.Height / 3);
    Rectangle rect = new Rectangle( new Point(bmp1.Width - size.Width, 0), size );
    g.DrawImage(bmp2, rect, new Rectangle(0, 0, bmp2.Width, bmp2.Height), GraphicsUnit.Pixel);
}

#2


Graphics的DrawImage函数。图片缩放、合成、指定坐标可以全靠它~

#3


我先去试试一楼的,谢谢,谁还有其他好的办法也说出来,谢谢。

#4


引用 1 楼 gomoku 的回复:
C# code
Bitmap bmp1 = new Bitmap("1.jpeg");
Bitmap bmp2 = new Bitmap("2.jpeg");
using (Graphics g = Graphics.FromImage(bmp1))
{
    Size size = new Size(bmp1.Width / 3, bmp1.Height / 3);
    Rec……


小弟不才,刚试了一下你的这个没有实现。能再指点下吗?你这样是重新生成了一个图片呢?还是在原有的图片上直接绘制的呢?我就这样找了两个图片试了半天还是不行啊?图片没有反应。

#5


引用 4 楼 dongjianhua520520 的回复:

小弟不才,刚试了一下你的这个没有实现。能再指点下吗?你这样是重新生成了一个图片呢?还是在原有的图片上直接绘制的呢?我就这样找了两个图片试了半天还是不行啊?图片没有反应。

Bitmap bmp1 = new Bitmap("1.jpeg");
Bitmap bmp2 = new Bitmap("2.jpeg");
using (Graphics g = Graphics.FromImage(bmp1))
{
    Size size = new Size(bmp1.Width / 3, bmp1.Height / 3);
    Rectangle rect = new Rectangle( new Point(bmp1.Width - size.Width, 0), size );
    g.DrawImage(bmp2, rect, new Rectangle(0, 0, bmp2.Width, bmp2.Height), GraphicsUnit.Pixel);
    bmp1.Save("3.bmp");//保存为第三个文件
}


你加上保存文件就可以了。

#6


该回复于2010-12-02 16:58:03被版主删除

#7


引用 5 楼 wuyazhe 的回复:
引用 4 楼 dongjianhua520520 的回复:

小弟不才,刚试了一下你的这个没有实现。能再指点下吗?你这样是重新生成了一个图片呢?还是在原有的图片上直接绘制的呢?我就这样找了两个图片试了半天还是不行啊?图片没有反应。

C# code

Bitmap bmp1 = new Bitmap("1.jpeg");
Bitmap bmp2 = new Bitmap("2.jpe……

谢谢。结贴给分.