Страница 2 из 2
Re: Вырезать цвет
Добавлено: 25 мар 2012, 09:42
Svenlana
В ответ нуждающимся.
Под примером № 3 (где красная роза на черно-белом фоне) белый квадратик "вложение". Там "прячется" архив с эффектом "Вырезать цвет". Его нужно скачать, разархивировать, содержимое архива вырезать и вставить по адресу: Локальный диск С:/Program Files/Paint.NET/Effects
Re: Вырезать цвет
Добавлено: 24 июн 2014, 15:11
MrSeFeRus
Ты тупая что-ли? Люди у тебя спрашивают где конкретно скачать этот эффект, ты им фигню отвечаешь
Re: Вырезать цвет
Добавлено: 25 июн 2014, 00:09
Lynx
MrSeFeRus » Вчера, 15:11
Ты тупая что-ли? Люди у тебя спрашивают где конкретно скачать этот эффект, ты им фигню отвечаешь
Для деревянных буратино , мнящих себя не тупыми, показываю уже на скриншоте..
На первой странице этой темы,
в первом посте, есть фото с розой и под ней окошко-вкладка
"вложение" где можно скачать архив с плагином,
т.е. нажать на ссылку в окошке , что делать дальше человек подробно написал вверху.
Re: Вырезать цвет
Добавлено: 11 июл 2014, 16:00
nyukers
Не будем наезжать друг на друга.
Но источник самого эффекта находящийся аж под 3-м(!) примером никак
очевидным не назовешь.
Re: Вырезать цвет
Добавлено: 13 июл 2014, 23:41
Lynx
Ну да, особенно если понятия не иметь как скачивать и где нажимать и при этом еще пояснения и комменты не уметь
прочесть внимательно.. беда да и только
Re: Вырезать цвет
Добавлено: 27 июл 2014, 21:43
arvalkom
В версии 4.0.3 работает. Спасибо.
Re: Вырезать цвет
Добавлено: 11 июл 2015, 21:49
xmario
Исходный код эффекта "вырезать цвет" для
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;
}
}
}
}
Re: Вырезать цвет
Добавлено: 11 июл 2015, 21:54
xmario
Исходный код варианта эффекта "изменить цвет" для
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;
}
}
}
}