こんにちは私はheightDataをメモリに持っていますが、時には(編集すると)jpgに保存します。これは私のコードです:XNA - HeightData to heightMap img
float multi = 0.2f;
float[,] heightData = quadTree.HeightData;
Color[] heightMapColors = new Color[heightData.Length];
for (int x = 0; x < heightData.GetLength(0); x++)
{
for (int y = 0; y < heightData.GetLength(1); y++)
{
byte colorData = (byte)(heightData[x, y]/multi);
heightMapColors[x + y * heightData.GetLength(0)].R = colorData;
heightMapColors[x + y * heightData.GetLength(0)].G = colorData;
heightMapColors[x + y * heightData.GetLength(0)].B = colorData;
}
}
Texture2D heightMap = new Texture2D(device, heightData.GetLength(0), heightData.GetLength(1), false, SurfaceFormat.Color);
heightMap.SetData<Color>(heightMapColors);
using (System.IO.Stream stream = System.IO.File.OpenWrite(@"D:\test.jpg"))
{
heightMap.SaveAsJpeg(stream, heightData.GetLength(0), heightData.GetLength(1));
}
私はheightMapColorsのデータを持っていることを100%確信していますが、保存されたjpgはブラックのみです。 :/それを行うには良い方法ですか、何かが間違っていますか?
すべきではない、彼はアルファを気にしない(主に)JPEGとして保存されているようです。 – Ani
あなたはそれをテストしましたか?私は確かに約 – Blau
の問題であると確信しています。私はそれをテストしました... A = 0の黒とA = 255の色で... – Blau