保存位图时背景变黑 - C#

Joh*_*rad 8 c# bitmap image-processing

我目前正在尝试保存位图图像,但背景正在变为黑色.

我可以"另存为"图像完美无缺.我也可以"保存"图像.这更难,因为我不得不覆盖现有的图像.

但是,当我"保存"我的图像时,背景变黑了.我不知道是什么导致了它.

这是我的代码:

Bitmap tempImage = new Bitmap(DrawArea);

DrawArea.Dispose();

if (extension == ".jpeg")
    tempImage.Save(fileName, System.Drawing.Imaging.ImageFormat.Jpeg);
else
    tempImage.Save(fileName, System.Drawing.Imaging.ImageFormat.Bmp);

DrawArea = new Bitmap(tempImage);
pictureBox1.Image = DrawArea;

tempImage.Dispose();
Run Code Online (Sandbox Code Playgroud)

Joh*_*rad 24

创建一个空白位图.使用该空白位图创建要写入的图形对象.清除位图并将其颜色更改为白色.然后绘制图像,然后保存位图.

            Bitmap blank = new Bitmap(DrawArea.Width, DrawArea.Height);
            Graphics g = Graphics.FromImage(blank);
            g.Clear(Color.White);
            g.DrawImage(DrawArea, 0, 0, DrawArea.Width, DrawArea.Height);

            Bitmap tempImage = new Bitmap(blank);
            blank.Dispose();
            DrawArea.Dispose();

            if (extension == ".jpeg")
                tempImage.Save(fileName, System.Drawing.Imaging.ImageFormat.Jpeg);
            else
                tempImage.Save(fileName, System.Drawing.Imaging.ImageFormat.Bmp);

            DrawArea = new Bitmap(tempImage);
            pictureBox1.Image = DrawArea;

            tempImage.Dispose();
Run Code Online (Sandbox Code Playgroud)

  • 很高兴看到我的超级老问题可以帮助某人. (3认同)