C# 在1个picturebox-C中加载2个图像#

C# 在1个picturebox-C中加载2个图像#,c#,winforms,image,picturebox,C#,Winforms,Image,Picturebox,如何在一个PictureBox中加载2个图像 以下是一个例子: 非常感谢。您可以使用Graphics.DrawImage()在PictureBox或任何其他控件中的任何位置绘制任何图像。如果您正在编写自己的控件,请重写OnPaint()。如果要使用现有PictureBox,只需使用其Paint事件即可: e.Graphics.DrawImage(YourImageObjectHere, ...); e.Graphics.DrawImage(YourSecondImageObjectHere

如何在一个PictureBox中加载2个图像

以下是一个例子:


非常感谢。

您可以使用
Graphics.DrawImage()
在PictureBox或任何其他控件中的任何位置绘制任何图像。如果您正在编写自己的控件,请重写
OnPaint()
。如果要使用现有PictureBox,只需使用其
Paint
事件即可:

e.Graphics.DrawImage(YourImageObjectHere, ...);  
e.Graphics.DrawImage(YourSecondImageObjectHere, ...);
GDI+已经支持透明通道,所以如果您的图像有透明区域,它们将像您发布的示例图像一样绘制
DrawImage()
有十几个重载,使用这些重载可以控制图像绘制的几个方面。最简单的方法是获取图像对象和要绘制的位置


请记住,图像对象是
System.Drawing.image
或其派生类之一的对象。如果您只有图像的路径,则应首先使用
image.FromFile()
从该图像文件创建图像对象。

您可以使用
Graphics.DrawImage()
在PictureBox或任何其他控件内的任何位置绘制任何图像。如果您正在编写自己的控件,请重写
OnPaint()
。如果要使用现有PictureBox,只需使用其
Paint
事件即可:

e.Graphics.DrawImage(YourImageObjectHere, ...);  
e.Graphics.DrawImage(YourSecondImageObjectHere, ...);
GDI+已经支持透明通道,所以如果您的图像有透明区域,它们将像您发布的示例图像一样绘制
DrawImage()
有十几个重载,使用这些重载可以控制图像绘制的几个方面。最简单的方法是获取图像对象和要绘制的位置


请记住,图像对象是
System.Drawing.image
或其派生类之一的对象。如果您只有图像的路径,则应首先使用
image.FromFile()
从该图像文件创建图像对象。

您可以使用
Graphics.DrawImage()
在PictureBox或任何其他控件内的任何位置绘制任何图像。如果您正在编写自己的控件,请重写
OnPaint()
。如果要使用现有PictureBox,只需使用其
Paint
事件即可:

e.Graphics.DrawImage(YourImageObjectHere, ...);  
e.Graphics.DrawImage(YourSecondImageObjectHere, ...);
GDI+已经支持透明通道,所以如果您的图像有透明区域,它们将像您发布的示例图像一样绘制
DrawImage()
有十几个重载,使用这些重载可以控制图像绘制的几个方面。最简单的方法是获取图像对象和要绘制的位置


请记住,图像对象是
System.Drawing.image
或其派生类之一的对象。如果您只有图像的路径,则应首先使用
image.FromFile()
从该图像文件创建图像对象。

您可以使用
Graphics.DrawImage()
在PictureBox或任何其他控件内的任何位置绘制任何图像。如果您正在编写自己的控件,请重写
OnPaint()
。如果要使用现有PictureBox,只需使用其
Paint
事件即可:

e.Graphics.DrawImage(YourImageObjectHere, ...);  
e.Graphics.DrawImage(YourSecondImageObjectHere, ...);
GDI+已经支持透明通道,所以如果您的图像有透明区域,它们将像您发布的示例图像一样绘制
DrawImage()
有十几个重载,使用这些重载可以控制图像绘制的几个方面。最简单的方法是获取图像对象和要绘制的位置


请记住,图像对象是
System.Drawing.image
或其派生类之一的对象。如果只有图像的路径,则应首先使用
image.FromFile()
从该图像文件创建图像对象。

尝试将两个重叠的图片框覆盖在两个图片框上。PictureBox只能有一个源,因此要在其中获得两个图像,您必须进行大量的图像处理。@LordTakkera:这是非常不正确的。在PictureBox中显示两个图像需要2或3行代码。@dotNET不知道绘制方法。我不确定这是否算作“加载”两个图像(因为你是在强制绘制,而不是像普通一样设置源),但这是一个很好的解决方案。谢谢你的信息!正确的。即使“加载”意味着他想要保存两个源,他所需要做的就是从
PictureBox
(或
Control
)派生并定义
Image
类型的两个公共属性。然后,他可以再次按照
DrawImage
路线,在
OnPaint()
重载中显示它们。我想这将是15行左右的简单代码。尝试用两个重叠的图片框覆盖两个图片框。PictureBox只能有一个源,因此要在其中获得两个图像,您必须进行大量的图像处理。@LordTakkera:这是非常不正确的。在PictureBox中显示两个图像需要2或3行代码。@dotNET不知道绘制方法。我不确定这是否算作“加载”两个图像(因为你是在强制绘制,而不是像普通一样设置源),但这是一个很好的解决方案。谢谢你的信息!正确的。即使“加载”意味着他想要保存两个源,他所需要做的就是从
PictureBox
(或
Control
)派生并定义
Image
类型的两个公共属性。然后,他可以再次按照
DrawImage
路线,在
OnPaint()
重载中显示它们。我想这将是15行左右的简单代码。尝试用两个重叠的图片框覆盖两个图片框。PictureBox只能有一个源,因此要在其中获得两个图像,您必须进行大量的图像处理。@LordTakkera:这是非常不正确的。在PictureBox中显示两个图像需要2或3行代码。@dotNET不知道绘制方法。我不确定这是否算作“加载”两幅图像(因为你是在强制绘制,而不是将源设置为正常),但这是一个很好的选择