This code below seems to trigger a glitch in the GDI. What happens is I load a bitmap file from disk into a streamreader, then pass the base stream to the Bitmap.fromStream() method. This method returns a bitmap. I then close the streamreader and then attempt to save the bitmap back out to a file.
This crashes with a generic error in GDI exception. This says to me that the streamreader object got incorporated into the Bitmap object and was being used in the save operation. I wouldn't expect that to work that way. Is this a glitch in GDI or something I have to be on the look out for when using the fromStream bitmap creator.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace gdiGlitchTest
{
class Program
{
static void Main(string[] args)
{
System.IO.StreamReader sr = new System.IO.StreamReader("test1.jpg");
System.Drawing.Bitmap temp = (System.Drawing.Bitmap)System.Drawing.Bitmap.FromStream(sr.BaseStream);
sr.Close();
temp.Save("out.jpg", System.Drawing.Imaging.ImageFormat.Jpeg); //this crashes with GDI+ exception
}
}
}