我有一个对象和一个自定义方法来绘制它,它返回一个Bitmap。
我画了一个这样的对象:
pictureBox1.Image = MyObject.DrawMyObject(startingPoint);
我如何将其中两个放在一个图片框中?我尝试使用一些运算符,但似乎它们不适用于Bitmap类型。我看过Image
属性只接受一个Bitmap,但不了解如何绘制一个Bitmap,然后是第二个,而不会丢失第一个。
答案 0 :(得分:2)
好的,从评论中跟进,你想合并两张图片,希望透明,否则你只需要透支一切。 让图像1
图像2
请注意,它们具有相同的尺寸(800 x 600),因此我无需担心计算尺寸。 (否则,将每个图片的宽度和高度的最大值作为新尺寸)。由于两者都是透明的,我想在骰子上绘制stackoverflow徽标,我使用Graphics
对象和DrawImage
函数。
using System.Drawing;
namespace stuff
{
class Program
{
static void Main(string[] args)
{
Bitmap pImage1 = new Bitmap(@"C:\Users\...\Desktop\PNGtest.png");
Bitmap pImage2 = new Bitmap(@"C:\Users\...\Desktop\logo.png");
using(Graphics g = Graphics.FromImage(pImage1))
{
g.DrawImage(pImage2, new Point(0, 0));
g.Save();
}
pImage1.Save(@"C:\Users\...\Desktop\merged.png", System.Drawing.Imaging.ImageFormat.Png);
}
}
}
您可以使用Point
中的DrawImage()
参数修改第一个图像在第一个图像上绘制的起点。