C # Texture2D SetData ARGB? - PullRequest
       5

C # Texture2D SetData ARGB?

1 голос
/ 22 мая 2011

Я пытаюсь сделать Texture2D из растрового изображения.У меня

Texture2D BitmapToTexture(Bitmap img)
{
    var ret = new Texture2D(Game.GraphicsDevice, img.Width, img.Height);
    var bd = img.LockBits(new Rectangle(0, 0, img.Width, img.Height), ImageLockMode.ReadOnly, PixelFormat.Format32bppArgb);
    int[] bytes = new int[img.Width * img.Height];
    Marshal.Copy(bd.Scan0, bytes, 0, bytes.Length);
    ret.SetData(bytes);
    img.UnlockBits(bd);
    return ret;
}

Проблема в том, что SetData по какой-то причине ожидает ABGR.Есть ли способ получить SetData для получения данных ARGB?

1 Ответ

2 голосов
/ 23 мая 2011

К сожалению нет.Вы должны поменять местами байты самостоятельно.

Порядок байтов был изменен в XNA 4.0 (см. Последний параграф) .

См. Также этот ответ .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...