Как я могу преобразовать растровое изображение в поток памяти?

1

У меня есть код в конструкторе 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 и получает устройство и Stream.

У меня уже есть объект устройства, но как я могу использовать ConvertedBmp (тип Bitmap) с TextureLoader?

  • 0
    Является ли TextureLoader частью библиотеки, и если да, то какая библиотека?
  • 0
    TextureLoader является частью Microsoft DirectX.Direct3D, и я использую версию DirectX 9 в этом проекте.
Теги:
winforms
directx-9

1 ответ

1
Лучший ответ

Класс Bitmap имеет метод Save(), который принимает Stream (например, объект MemoryStream) и ImageFormat, использует это. После сохранения Bitmap в MemoryStream вы можете использовать это с TextureLoader.

Метод Image.Save(Stream, ImageFormat)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню