Преобразование .dds в .png: действительно ли XNA так запутана?

У меня есть файл .dds, и я хочу файл .png. Хотя я ужеузнал о Библиотека DevIL.NETдизайн API одного статического класса не распараллеливается, поэтому я надеюсь найти другой метод. Это привело меня к XNA.

Но вот как далеко я продвинулся с этой идеей ...

Хорошо, похоже, я хочу этогоTexture2D учебный класс; тогда я могу позвонитьmyTexture2D.SaveAsPng.Но как мне получить один из них из моего файла .dds? Ну, документация, кажется, указывает, что я хочу использоватьmyContentManager.Load<Texture2D>.О, дерьмо, это не так, это какая-то система управления игровым контентом. Ну, мой поиск, кажется, нашел много примененийmyTexture2D.LoadFile; Я пойду на это.Я пропустил ссылку на сборку или что-то в этом роде? О нет, я понял, они удалили этот метод между 3.1 и 4.0, потрясающе. Хорошо, это немного раздражает, ноmyTexture2D.LoadStream на самом деле не проблемаПодождите, что это сейчас? ХочетGraphicsDevice? Хм, похоже, что один обычно получает один из них черезGraphicsDeviceManager... о, подожди, я больше не пойду по этому пути, не болееManagerдля меня.Я предполагаю, что должен создать экземпляр этой вещи вручную. Хорошо, это не так уж сложно ...var myGraphicsDevice = new GraphicsDevice(GraphicsAdapter.DefaultAdapter, GraphicsProfile.HiDef, (э-э, что этоPresentationParameters все хорошо, я просто попробуюnew PresentationParameters());.Хорошо, что бросил исключение. Они хотят ...DeviceWindowHandle в моемPresentationParameters? Но я запускаю консольное приложение!

Так что я действительно надеюсь, что есть менее запутанный способ сделать это; возможно какой-то дефолтGraphicsDevice Я мог бы использовать. Довольно глупо создавать целое окно только для преобразования .dds в .png.

Думаю, приветствуются альтернативные предложения по моей проблеме конверсии, хотя, вероятно, было бы целесообразно понять, как использовать XNA из не-XNA-кода в целом.

Ответы на вопрос(2)

Ваш ответ на вопрос