【问题标题】:Saving image with backgroundimage to file in C#将带有背景图像的图像保存到 C# 中的文件
【发布时间】:2023-04-02 06:34:01
【问题描述】:

我在表单上有一个图片框,BackgroundImage 属性设置为某个图像。图像的其余部分具有某些透明区域,因此在这些区域中显示背景图像。我想将它保存到文件中,但是图片框没有保存方法。 image 属性有一个 save 方法,但是它只保存图像的内容,不包括背景图像。关于如何保存两者的任何提示,以便它在文件中的外观与在图片框上的外观完全相同?

【问题讨论】:

    标签: c# image transparency background-image picturebox


    【解决方案1】:

    试试:

        Bitmap bmp = new Bitmap(pictureBox1.Width, pictureBox1.Height, pictureBox1.CreateGraphics());
        bmp.Save(@"BlaBlaBlaBla.Bla");
    

    编辑:

            Bitmap b = new Bitmap(width, height);
            Graphics g = Graphics.FromImage(b);
    

    然后使用Graphics的drawImage方法绘制背景和前景并保存位图。

    【讨论】:

    • 我没看懂,这个方法把图片保存在哪里?如何将其保存到文件中?
    • 它没有用。文件已创建,但上面没有图像。会不会是因为使用了透明色?
    • 我不知道,我猜:)。
    • 也许还有其他方法可以做我想做的事?我的最终目标是创建 2 层图片,其中一层有一些对象,其余部分填充白色,设置为透明,第二层是这些对象的背景。我需要将此组合作为单个图像保存到文件中。
    • 如果这就是你想要的,我会添加最后一个建议
    【解决方案2】:

    我已经设法通过简单地使用图形将两个图像组合在一起,然后将结果保存为单个图像对象来实现这一点。因此,我不再使用背景图片了。

    【讨论】:

      【解决方案3】:

      g.DrawLine(myPen, EX, EY, e.X, e.Y); EX = e.X; EY = e.Y; DrawArea = (Bitmap)pictureBox1.Image.Clone(); pictureBox1.Image = DrawArea;

              pictureBox1.Image.Save(@"D:\C#Test_Save_File\Arash_Bashiri.bmp",    System.Drawing.Imaging.ImageFormat.Bmp);    `
      

      【讨论】:

      • 您好,您的问题可能为时已晚,但我有这个问题,可以解决>它。我们有 2 层图像,但通过保存,其中一个可以保存!!!!在保存之前,您可以将两者结合起来,这可以通过在保存之前加载视觉情况来实现。
      猜你喜欢
      • 2021-08-22
      • 1970-01-01
      • 1970-01-01
      • 2020-07-21
      • 2014-10-05
      • 1970-01-01
      • 2016-12-07
      • 2015-02-16
      • 1970-01-01
      相关资源
      最近更新 更多