我正在嘗試集成兩個處理圖像的系統。一個系統以sbyte []形式提供圖像,另一個系統使用BitArray。我需要從sbyte[]獲取數據並將其轉換爲BitArray。有人知道怎麼做嗎?如何隱藏一個sbyte []到BitArray? C#.Net
謝謝,保羅
我正在嘗試集成兩個處理圖像的系統。一個系統以sbyte []形式提供圖像,另一個系統使用BitArray。我需要從sbyte[]獲取數據並將其轉換爲BitArray。有人知道怎麼做嗎?如何隱藏一個sbyte []到BitArray? C#.Net
謝謝,保羅
最簡單的方法是轉換sbyte[]
到byte[]
,然後將它傳遞到正常BitArray
構造。如果您使用.NET 3.5,很容易與LINQ:
byte[] bytes = sbytes.Select(s => (byte) s).ToArray();
BitArray bitArray = new BitArray(bytes);
這是假設你在unchecked上下文中已經執行的。否則,你可能要進行轉換明確選中:
byte[] bytes = sbytes.Select(s => unchecked((byte) s)).ToArray();
BitArray bitArray = new BitArray(bytes);
BitArray有constructor,需要一個字節數組,你可以嘗試:
sbyte[] sbytes = ...
BitArray ba = new BitArray(sbytes.Select(x => (byte)x).ToArray());
酷,讓我怎麼轉換爲sbyte []以字節[]。謝謝。 – Paul 2010-07-07 16:13:06
@保羅:你讀過我的全部答案嗎?它顯示你 - 兩次! – 2010-07-07 16:14:04
O ya,duu ....謝謝瓊恩 - 你搖滾! – Paul 2010-07-07 16:16:18