2013-06-01 22 views
2

我正在用C#編寫Windows 8遊戲。我有一個圖像,我需要檢查某個給定像素的顏色。我知道圖像中像素的座標(x,y),但我找不到任何可以做到這一點的類。例如 System.Drawing.Bitmap有方法GetPixel,這對我來說是完美的,但我不能在Windows Store應用程序中使用這個類。如何在Windows應用商店中獲取圖像的一個像素(C#)

有誰知道我該怎麼做?謝謝你的幫助!

回答

4

我還沒有使用它,但你可以嘗試WriteableBitmapEx類。項目頁面指出該類有一個GetPixel方法。

如果你想這個自己實現(這是不平凡的,並且需要相當多的函數調用),一個方法是使用BitmapDecoder讀取位圖和BitMapDecoder.GetPixelData得到PixelDataProvider。從那裏你可以使用DetachPixelData獲得一個字節緩衝區。字節緩衝區是RGBA格式的一維數組。你必須將你的x和y座標映射到這個數組。

+0

這看起來很有希望!我會試試看,並說它是如何工作:) –

+1

這一切工作。 :) –

+0

@chuex我也使用了WriteableBitmapEx,但我想要做的下載圖像,然後根據需求將其顏色更改爲不同的顏色。你能爲它添加一些示例代碼嗎? –

相關問題