我試圖轉換爲灰度,但它不是16 bpp 如何使用下面的代碼獲取16 bpp灰度圖像。如何在C#中將32bpp圖像轉換爲16 bpp圖像? (灰度)
for (int y = 0; y < tr.Height; y++)
{
for (int x = 0; x < tr.Width; x++)
{
//get pixel value
p = tr.GetPixel(x, y);
//extract pixel component ARGB
int a = p.A;
int r = p.R;
int g = p.G;
int b = p.B;
//find average
int avg = (r + g + b)/3;
//set new pixel value
tr.SetPixel(x, y, Color.FromArgb(a, avg, avg, avg));
}
}
'tr'究竟是什麼? – devRicher
非常令人困惑 - 看起來像代碼期望的圖像是彩色32bpp和灰度16bpp格式在同一時間...確保你提供了真正的[MCVE],而不是一些未經試驗的代碼。 –