Convertendo .dds em .png: o XNA é realmente tão complicado?

Eu tenho um arquivo .dds e quero um arquivo .png. Embora eu jádescobrir sobre aBiblioteca DevIL.NET, o design da API de uma classe estática não é paralelo, por isso espero encontrar outro método. Isso me levou ao XNA.

Mas, aqui está o quão longe cheguei com essa ideia ...

OK, parece que eu quero issoTexture2D classe; então eu posso ligarmyTexture2D.SaveAsPng.Mas como obtenho um desses arquivos .dds? Bem, a documentação parece indicar que eu quero usarmyContentManager.Load<Texture2D>.Oh merda, não foi isso, isso é algum tipo de sistema de gerenciamento de conteúdo de jogos. Bem, minha pesquisa parece ter encontrado muitos usos demyTexture2D.LoadFile; Eu vou fazer isso.Estou faltando uma referência de montagem ou algo assim? Oh não, entendi, eles removeram esse método entre 3.1 e 4.0, incrível. OK, bem, é um pouco mais irritante, masmyTexture2D.LoadStream não é realmente um problema.Espere o que é isso agora? Quer umGraphicsDevice? Hmm, parece que um geralmente recebe um desses através de umGraphicsDeviceManager... oh espere, eu não vou por esse caminho novamente, não maisManageré para mim.Acho que devo instanciar essa coisa manualmente. OK, bem, isso não é muito difícil ...var myGraphicsDevice = new GraphicsDevice(GraphicsAdapter.DefaultAdapter, GraphicsProfile.HiDef, (oh, o que é issoPresentationParameters coisa bem OK, eu vou tentarnew PresentationParameters());.Bem, isso lançou uma exceção. Eles querem ... umDeviceWindowHandle no meuPresentationParameters? Mas eu estou executando um aplicativo de console !!

Então, eu realmente espero que haja uma maneira menos complicada de fazer isso; talvez algum tipo de padrãoGraphicsDevice Eu poderia usar. Parece uma tolice criar uma janela inteira apenas para converter .dds em .png.

Sugestões alternativas para o meu problema de conversão são bem-vindas, eu acho, embora provavelmente valha a pena entender como usar o XNA a partir de código não-XNA em geral.

questionAnswers(2)

yourAnswerToTheQuestion