.ddsファイルがあり、.pngファイルが必要です。DevIL.NETライブラリについてはすでに知っていますが、ある静的クラスのAPI設計は並列化されていないため、別のメソッドを見つけたいと思っています。これが私をXNAに導きました。
しかし、これが私がそのアイデアでどこまで得たかです...
Texture2DOK、このクラスが必要なようです。その後、私は呼び出すことができますmyTexture2D.SaveAsPng。- しかし、.ddsファイルからそれらの1つを取得するにはどうすればよいですか?さて、ドキュメントは私が使いたいことを示しているようです
myContentManager.Load<Texture2D>。 - ああ、それはそうではありませんでした、それはある種のゲームコンテンツ管理システムです。さて、私の検索は多くの用途を見つけたようです
myTexture2D.LoadFile; 私はそのために行きます。 - アセンブリ参照などがありませんか?いいえ、わかりました。3.1から4.0の間で、そのメソッドが削除されました。すばらしいです。OK、まあ、それはもう少し厄介ですが、
myTexture2D.LoadStream実際には問題ではありません。 - これは今何ですか?欲しい
GraphicsDevice?うーん、それは通常、それらの1つを経由して取得するように見えGraphicsDeviceManagerます...ああ、待ってください、私は再びその道を進むことはありません、私にとってこれ以上Managerのことはありません。 - 私はこれを手動でインスタンス化することになっていると思います。OK、これはそれほど難しいことではありません...
var myGraphicsDevice = new GraphicsDevice(GraphicsAdapter.DefaultAdapter, GraphicsProfile.HiDef,(ええと、これは何ですか?PresentationParametersOK私は試してみnew PresentationParameters());ます。 - まあそれは例外を投げました。彼らは望んでいます...
DeviceWindowHandle私の中にPresentationParameters?しかし、私はコンソールアプリを実行しています!!
ですから、これを行うためのより複雑でない方法があることを本当に望んでいます。おそらく、私が使用できるある種のデフォルトですGraphicsDevice。.ddsを.pngに変換するためだけにウィンドウ全体を作成するのはかなりばかげています。
私の変換問題の代替案は歓迎されますが、一般的に非XNAコードからXNAを使用する方法を理解することはおそらく価値があります。