1
我有一個來自Kinect的視頻流。它的數據以32位BGRX格式打包。我想直接將這些數據轉移到Texture2d中,但我找不到匹配的SurfaceFormat。我能找到的最接近的是SurfaceFormat.Color,它看起來是32位RGBX。XNA是否有BGRA/BGRX表面格式?
假設沒有兼容的格式。什麼是數據轉換和推到一個紋理2D最快的方式
我在想這樣的事情將是一件好事,但它似乎幀率減慢:
編輯:我改變了算法有點現在它似乎正在運行得體。
void nui_VideoFrameReady(object sender, ImageFrameReadyEventArgs e)
{
byte x;
for (int i = 0; i < e.ImageFrame.Image.Bits.Length; i += 4)
{
x = e.ImageFrame.Image.Bits[i];
e.ImageFrame.Image.Bits[i] = e.ImageFrame.Image.Bits[i + 2];
e.ImageFrame.Image.Bits[i + 2] = x;
}
canvas.SetData(e.ImageFrame.Image.Bits);
}