Загрузите эффект из моего Комплекта эффектов.
Эффект имеет очень простой интерфейс. Вы можете найти его в меню Эффекты -> Цвет -> Устранить темный/светлый.

Примеры работы.
Исходное изображение:

Устранение темных участков:

Устранение светлых участков:

Ниже приведен исходный код для CodeLab
Код: Выделить всё
// Author: ReMake
// Submenu: Color
// Name:Устранить темный/светлый
// Title: Устранить темный/светлый v1.0 ReMake 2015
// Desc: Paint.Net эффект, устраняющий темные или светлые участки изображения
// Keywords: paint.net|эффект|устранить|темный|светлый
// URL: https://paint-net.ru/forum/viewforum.php?f=5
#region UICode
byte Amount1 = 0; // [1] Устранить|Темный|Светлый
#endregion
void Render(Surface dst, Surface src, Rectangle rect)
{
ColorBgra CurrentPixel;
for (int y = rect.Top; y < rect.Bottom; y++)
{
if (IsCancelRequested) return;
for (int x = rect.Left; x < rect.Right; x++)
{
CurrentPixel = src[x,y];
int R = CurrentPixel.R;
int G = CurrentPixel.G;
int B = CurrentPixel.B;
int A = CurrentPixel.A;
if (A != 0)
{
switch (Amount1)
{
case 0: // Темный
A = Math.Max(Math.Max(R, G), B);
break;
case 1: // Светлый
A = 255 - Math.Min(Math.Min(R, G), B);
break;
};
}
CurrentPixel.A = Int32Util.ClampToByte(A);
dst[x,y] = CurrentPixel;
}
}
}
