简体   繁体   中英

Question about bitmap saving in .NET

I have a bitmap object and draw some curves on it by setpixel method. when I save this bitmap as jpg file, the background of my picture is not a white surface. the background is transparent. what is the problem? How can I resolve this problem?

Call Graphics.Clear(Color.White) before you draw on the bitmap. If you do not already have an instance of System.Drawing.Graphics for your bitmap, here's how to get one:

Graphics g = Graphics.FromImage(bitmap);

Clear the bitmap:

g.Clear(Color.White);

And of course, don't forget to call Dispose() when you are done with the graphics.

g.Dispose();

Are you certain that you are saving the image out in JPEG format? AFAIK, JPEG doesn't support transparancy, so perhaps you're saving the image out as GIF or PNG with a ".jpg" extension, and your viewer is ignoring the extension.

In any case, Zach's solution should fill your bitmap with a solid background color before you start drawing.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM