Вырезать цвет

Плагины и эффекты для Paint.NET с интерфейсом на русском языке. Поскольку этот сайт посвящен в первую очередь обсуждению Paint.NET на русском языке, то необходимость создания этого раздела очевидна. Если вы хотите опубликовать свой собственный русскоязычный эффект, то вам сюда.
Svenlana
Сообщения: 1
Зарегистрирован: 25 мар 2012, 09:25
Репутация: 0
Пол: Женский

Re: Вырезать цвет

Сообщение Svenlana » 25 мар 2012, 09:42

В ответ нуждающимся.
Под примером № 3 (где красная роза на черно-белом фоне) белый квадратик "вложение". Там "прячется" архив с эффектом "Вырезать цвет". Его нужно скачать, разархивировать, содержимое архива вырезать и вставить по адресу: Локальный диск С:/Program Files/Paint.NET/Effects

MrSeFeRus
Сообщения: 1
Зарегистрирован: 24 июн 2014, 15:07
Репутация: 0
Пол: Мужской

Re: Вырезать цвет

Сообщение MrSeFeRus » 24 июн 2014, 15:11

Ты тупая что-ли? Люди у тебя спрашивают где конкретно скачать этот эффект, ты им фигню отвечаешь

Аватара пользователя
Lynx
Сообщения: 5678
Зарегистрирован: 04 май 2010, 21:44
Репутация: 34
Пол: Женский
Откуда: г. Сочи

Re: Вырезать цвет

Сообщение Lynx » 25 июн 2014, 00:09

MrSeFeRus » Вчера, 15:11
Ты тупая что-ли? Люди у тебя спрашивают где конкретно скачать этот эффект, ты им фигню отвечаешь
Для деревянных буратино , мнящих себя не тупыми, показываю уже на скриншоте..

На первой странице этой темы,
в первом посте, есть фото с розой и под ней окошко-вкладка"вложение" где можно скачать архив с плагином,
т.е. нажать на ссылку в окошке , что делать дальше человек подробно написал вверху.
Изображение
"Чтобы уметь рисовать - надо рисовать" John Howe

nyukers
Сообщения: 21
Зарегистрирован: 16 сен 2010, 17:56
Репутация: 1

Re: Вырезать цвет

Сообщение nyukers » 11 июл 2014, 16:00

Не будем наезжать друг на друга.
Но источник самого эффекта находящийся аж под 3-м(!) примером никак очевидным не назовешь. :Search:

Аватара пользователя
Lynx
Сообщения: 5678
Зарегистрирован: 04 май 2010, 21:44
Репутация: 34
Пол: Женский
Откуда: г. Сочи

Re: Вырезать цвет

Сообщение Lynx » 13 июл 2014, 23:41

Ну да, особенно если понятия не иметь как скачивать и где нажимать и при этом еще пояснения и комменты не уметь
прочесть внимательно.. беда да и только ;)
"Чтобы уметь рисовать - надо рисовать" John Howe

arvalkom
Сообщения: 19
Зарегистрирован: 28 апр 2014, 19:16
Репутация: 0
Пол: Мужской
Откуда: Макеевка Донецкая обл.

Re: Вырезать цвет

Сообщение arvalkom » 27 июл 2014, 21:43

В версии 4.0.3 работает. Спасибо.

Аватара пользователя
xmario
Администратор
Сообщения: 3402
Зарегистрирован: 03 апр 2010, 20:12
Репутация: 45
Пол: Мужской
Откуда: Москва

Re: Вырезать цвет

Сообщение xmario » 11 июл 2015, 21:49

Исходный код эффекта "вырезать цвет" для CodeLab

Код: Выделить всё

#region UICode
ColorBgra Amount1 = ColorBgra.FromBgr(0,0,0); // Цвет, который оставляем, остальные цвета станут прозрачными
int Amount2 = 40; // [0,90] Погрешность в определении цвета
#endregion

void Render(Surface dst, Surface src, Rectangle rect)
{
    // Delete any of these lines you don't need
    Rectangle selection = this.EnvironmentParameters.GetSelection(src.Bounds).GetBoundsInt();

    int R0 = Amount1.R;
    int G0 = Amount1.G;
    int B0 = Amount1.B;
    
    ColorBgra CurrentPixel;
    for (int y = rect.Top; y < rect.Bottom; y++)
    {
        for (int x = rect.Left; x < rect.Right; x++)
        {
            CurrentPixel = src[x,y];
            int R1 = (byte)CurrentPixel.R;
            int G1 = (byte)CurrentPixel.G;
            int B1 = (byte)CurrentPixel.B;
            
            float Angle1 = (float)Math.Acos((R0*R1+G0*G1+B0*B1)/(Math.Sqrt((R0*R0+G0*G0+B0*B0))*Math.Sqrt((R1*R1+G1*G1+B1*B1))));
            
            if ((Angle1*180/3.1415926) <= Amount2/2)
            {
                dst[x,y] = CurrentPixel;
            }
            else
            {
                CurrentPixel.A = 0;
                dst[x,y] = CurrentPixel;
            }
        }
    }
}

Аватара пользователя
xmario
Администратор
Сообщения: 3402
Зарегистрирован: 03 апр 2010, 20:12
Репутация: 45
Пол: Мужской
Откуда: Москва

Re: Вырезать цвет

Сообщение xmario » 11 июл 2015, 21:54

Исходный код варианта эффекта "изменить цвет" для CodeLab

Код: Выделить всё

#region UICode
ColorBgra Amount1 = ColorBgra.FromBgr(0,0,0); // Control Description
int Amount2 = 40; // [0,90] Slider 1 Description
#endregion

void Render(Surface dst, Surface src, Rectangle rect)
{
    // Delete any of these lines you don't need
    Rectangle selection = this.EnvironmentParameters.GetSelection(src.Bounds).GetBoundsInt();
    long CenterX = (long)(((selection.Right - selection.Left) / 2)+selection.Left);
    long CenterY = (long)(((selection.Bottom - selection.Top) / 2)+selection.Top);
    ColorBgra PrimaryColor = (ColorBgra)EnvironmentParameters.PrimaryColor;
    ColorBgra SecondaryColor = (ColorBgra)EnvironmentParameters.SecondaryColor;
    int BrushWidth = (int)EnvironmentParameters.BrushWidth;

    int R0 = Amount1.R;
    int G0 = Amount1.G;
    int B0 = Amount1.B;
    
    ColorBgra CurrentPixel;
    for (int y = rect.Top; y < rect.Bottom; y++)
    {
        for (int x = rect.Left; x < rect.Right; x++)
        {
            CurrentPixel = src[x,y];
            int R1 = (byte)CurrentPixel.R;
            int G1 = (byte)CurrentPixel.G;
            int B1 = (byte)CurrentPixel.B;
            
            float Angle1 = (float)Math.Acos((R0*R1+G0*G1+B0*B1)/(Math.Sqrt((R0*R0+G0*G0+B0*B0))*Math.Sqrt((R1*R1+G1*G1+B1*B1))));
            
            if ((Angle1*180/3.1415926) <= Amount2/2)
            {
                dst[x,y] = CurrentPixel;
            }
            else
            {
                CurrentPixel.A = 0;
                dst[x,y] = CurrentPixel;
            }
        }
    }
}

Ответить

Вернуться в «Эффекты и плагины для Paint.NET на русском языке»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 11 гостей