Convertir .dds a .png: ¿XNA es realmente tan complicado?

Tengo un archivo .dds y quiero un archivo .png. Aunque yaDescubrió sobre elBiblioteca DevIL.NET, el diseño de API de una clase estática no se paraleliza, por lo que espero encontrar otro método. Esto me llevó a XNA.

Pero, aquí está lo lejos que llegué con esa idea ...

OK, parece que quiero estoTexture2D clase; entonces puedo llamarmyTexture2D.SaveAsPng.Pero, ¿cómo obtengo uno de esos de mi archivo .dds? Bueno, la documentación parece indicar que quiero usarmyContentManager.Load<Texture2D>.Oh, mierda, eso no fue todo, es algún tipo de sistema de gestión de contenido de juegos. Bueno, mi búsqueda parece haber encontrado muchos usos demyTexture2D.LoadFile; Iré por eso.¿Me estoy perdiendo una referencia de ensamblaje o algo así? Oh no, lo entiendo, eliminaron ese método entre 3.1 y 4.0, increíble. OK, bueno, es un poco más molesto, peromyTexture2D.LoadStream No es realmente un problema.Espera, ¿qué es esto ahora? Quiere unGraphicsDevice? Hmm parece que uno generalmente obtiene uno de esos a través de unGraphicsDeviceManager... oh, espera, no voy por ese camino otra vez, no másManagerS para mí.Supongo que se supone que debo instanciar esto manualmente. Ok, bueno, esto no es demasiado difícil ...var myGraphicsDevice = new GraphicsDevice(GraphicsAdapter.DefaultAdapter, GraphicsProfile.HiDef, (uh oh que es estoPresentationParameters bien, voy a intentarlonew PresentationParameters());.Bueno, eso arrojó una excepción. Quieren ... unDeviceWindowHandle en miPresentationParameters? PERO ESTOY EJECUTANDO UNA APLICACIÓN DE CONSOLA !!

Así que realmente espero que haya una forma menos complicada de hacer esto; tal vez algún tipo de incumplimientoGraphicsDevice Podría usar. Se siente bastante tonto crear una ventana completa solo para convertir .dds a .png.

Las sugerencias alternativas para mi problema de conversión son bienvenidas, supongo, aunque probablemente valdría la pena entender cómo usar XNA a partir de código que no sea XNA en general.

Respuestas a la pregunta(2)

Su respuesta a la pregunta