gpt4 book ai didi

c# - 在一个图片框中绘制 2 个位图

转载 作者:太空宇宙 更新时间:2023-11-03 23:29:39 29 4
gpt4 key购买 nike

我有一个对象和一个自定义方法来绘制它,它返回一个位图。

我画了一个这样的对象:

pictureBox1.Image = MyObject.DrawMyObject(startingPoint);

我如何将其中的 2 个放在一个图片框中?我尝试使用一些运算符,但它们似乎不适用于 Bitmap 类型。我读到 Image 属性只接受一个位图,但不明白如何绘制一个位图,然后在不丢失第一个的情况下绘制第二个位图。

最佳答案

好的,根据评论,你想合并两张图片,希望它们是透明的,否则你会 overdraw 一切。设图1为

a

图像2是

aa

请注意,它们确实具有相同的尺寸 (800 x 600),因此我无需担心计算尺寸的问题。 (否则,取每张图片宽度和高度的最大值作为新的尺寸)。由于两者都是透明的,我想在骰子上绘制 stackoverflow Logo ,这是我使用 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);
}
}
}

结果 enter image description here

您可以使用 DrawImage() 中的 Point 参数修改绘制第二张图像的起点。

关于c# - 在一个图片框中绘制 2 个位图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32746695/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com