如何将Bitmap转换为内存流?

时间:2014-10-06 01:40:31

标签: c# .net winforms directx-9

我在form1构造函数中有一个代码:

ConvertedBmp = ConvertTo24(newest.FullName);

ConvertTo24函数是:

private static Bitmap ConvertTo24(string inputFileName)
        {
            sw = Stopwatch.StartNew();
            Bitmap bmpIn = (Bitmap)Bitmap.FromFile(inputFileName);
            Bitmap converted = new Bitmap(bmpIn.Width, bmpIn.Height, PixelFormat.Format24bppRgb);
            using (Graphics g = Graphics.FromImage(converted))
            {
                g.PageUnit = GraphicsUnit.Pixel;
                g.DrawImageUnscaled(bmpIn, 0, 0);
            }
            sw.Stop();
            return converted;
        }

问题是如何在这一行中使用ConvertedBmp:

backTexture = TextureLoader.FromFile(D3Ddev, @"D:\test.bmp");

TextureLoader有一些属性,其中两个是:Fromfile,它正在获取设备和字符串或FromStream,它正在获取设备和流。

我已经拥有了设备对象但是如何将TextureedBmp(Bitmap类型)与TextureLoader一起使用?

1 个答案:

答案 0 :(得分:1)

Bitmap类有一个名为Save()的方法,它接受一个Stream(例如一个MemoryStream对象)和一个ImageFormat,使用它。将Bitmap保存到MemoryStream后,您可以将其与TextureLoader一起使用。

Image.Save Method (Stream, ImageFormat)