如何将位图转换为内存流?

Dan*_*out 6 .net c# winforms directx-9

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

ConvertedBmp = ConvertTo24(newest.FullName);
Run Code Online (Sandbox Code Playgroud)

函数 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;
        }
Run Code Online (Sandbox Code Playgroud)

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

backTexture = TextureLoader.FromFile(D3Ddev, @"D:\test.bmp");
Run Code Online (Sandbox Code Playgroud)

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

我已经有了设备对象,但是如何将 ConvertedBmp(位图类型)与 TextureLoader 一起使用?

Pet*_*iss 5

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

Image.Save 方法(Stream、ImageFormat)