2015-10-13 37 views
1

我有一些掃描圖像。我想放棄除黑色以外的所有顏色。 問題是黑色並不總是rgb(0,0,0)。那我該怎麼做?C# - 如何從圖像中刪除黑色以外的所有顏色

謝謝。

+1

所以你只想得到一個黑色的圖像?大聲笑 – kevintjuh93

+2

黑色*總是*'rgb(255,255,255)'。你想要的不是保持黑色,而是保持黑暗的部分,對吧? –

+0

你想用白色替換所有其他的嗎? –

回答

3

您可以使用此代碼:

Bitmap myBitmap = new Bitmap(@"YourPath"); 
const float limit = 0.3f; 
for (int i = 0; i < myBitmap.Width; i++) 
{ 
    for (int j = 0; j < myBitmap.Height; j++) 
    { 
     Color c = myBitmap.GetPixel(i, j); 
     if (c.GetBrightness() > limit) 
     { 
      myBitmap.SetPixel(i, j, Color.White); 
     } 
    } 
} 
myBitmap.Save(@"YourNewPath"); 

而且隨着limit玩得到你想要的東西。

+0

這裏可能需要進行簡要說明。 –

+0

謝謝,它工作 – ByronBD

+0

這是一個偉大的共享,但如果你想要一個PNG圖像這樣做它myBitmap.SetPixel(i,j,Color.Transparent);然後將圖像保存爲png格式。 (myBitmap.Save(yourpath,ImageFormat.Png))僅供未來的開發人員使用。 –

相關問題