Учитывая изображение, я хочу преобразовать его пиксели рядом с указанным цветом, например Color.FromArgb(210, 189, 51)
, в прозрачную область.Изменить прозрачные пиксели заданного цвета
Я попытался это:
public Bitmap MakeTransparent(Image image,Color clr)
{
Bitmap b = new Bitmap(image);
var replacementColour = Color.FromArgb(255, 255, 255);
var tolerance = 1;
for (int i = b.Size.Width - 1; i >= 0; i--)
{
for (int j = b.Size.Height - 1; j >= 0; j--)
{
var col = b.GetPixel(i, j);
if (clr.R - col.R < tolerance &&
clr.G - col.G < tolerance &&
clr.B - col.B < tolerance)
{
b.SetPixel(i, j, replacementColour);
}
}
}
b.MakeTransparent(replacementColour);
return b;
}
Но результат не так.
Вы указали, что вы пробовали, но забыли указать, какие проблемы вы столкнулись. Так в чем проблема? –
Код не работает должным образом, он также преобразует в прозрачную область неуказанные цвета. –