2012-10-11 98 views
1

我正在使用舊的攝像頭組件文件將一個攝像頭視頻源傳輸到Texture2D對象上。C#中的攝像頭組件XNA

我需要代碼的幫助,因爲它是舊的,Visual Studio 2010和XNA 4不能識別某些語法。

在BufferCB方法中,修改顏色的兩行過時。它說「名稱空間Microsoft.XNA.Framwork.Graphics中沒有類型或名稱空間名稱Color(是否缺少程序集引用?」)。

下面是函數:

public int BufferCB(double SampleTime, IntPtr pBuffer, int BufferLen) 
{ 
    byte[] bgrData = new byte[BufferLen]; 
    Marshal.Copy(pBuffer, bgrData, 0, BufferLen); 
    Color[] colorData = new Color[BufferLen/3]; 
    for (int i = 0; i < colorData.Length; i++) 
    { 
     colorData[i] = new Microsoft.Xna.Framework.Graphics.Color(bgrData[3 * i + 2], bgrData[3 * i + 1], bgrData[3 * i]); 
    } 
     this.videoTexture.SetData<Microsoft.Xna.Framework.Graphics.Color>(colorData); 
      return 0; 
} 

for循環中的行和代碼之後的for循環線路有色差問題。

另外,如何在我的遊戲類中實例化這個類?

任何幫助將是偉大的。 謝謝

回答

2

錯誤描述字面上確切的問題。

Color是XNA 4.看的Microsoft.Xna.Framework命名空間的一部分:http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.color%28v=xnagamestudio.35%29.aspx

可以使用4個構造函數實例Color

Color color = new Color(r, g, b);(其中RGB是紅色/綠色/藍色整數)

Color color = new Color(r, g, b);(其中RGB是紅色/綠色/藍色浮子)

Color color = new Color(r, g, b, a);(其中RGB是紅/綠/藍/α-整數)

Color color = new Color(r, g, b, a);(其中RGB紅/綠/藍/阿爾法花車)

+0

不錯,但我有我的using語句部分。 – RXC

+0

是的,但是您對該類的引用專門使用了錯誤的名稱空間。擺脫'Microsoft.Xna.Framework.Graphics'。 –

+0

這擺脫了錯誤,謝謝。 – RXC