Форум paint.net на русском языке
Изменение прозрачности
- xmario
- Администратор
- Сообщения: 3402
- Зарегистрирован: 03 апр 2010, 20:12
- Репутация: 45
- Пол: Мужской
- Откуда: Москва
Изменение прозрачности
Эффект для paint.net для изменения прозрачности изображения
Эффект paint.net для изменения уровня прозрачности изображения.
Основное назначение этого эффекта - изменять значение прозрачности пикселей на изображении. Окно настроек этого эффекта выглядит так, как на рисунке ниже.
Два основных верхних параметра определяют два способа изменения прозрачности.
Параметр "Умножить на коэффициент" задает коэффициент на который будет умножено значение прозрачности (альфа) у всех пикселей изображения. Если значение этого параметра меньше 1, то прозрачность на изображении будет уменьшена. Если значение параметра больше 1, то уровень прозрачности будет увеличен. Значение этого параметра по умолчанию равно 1, т.е. ничего не происходит.
Параметр "Увеличить на" определяет число которое будет прибавлено к текущему уровню прозрачности пикселей на изображении. Если значение этого параметра положительное, то уровень прозрачности увеличится. Если значение отрицательное, то прозрачность у всех точек изображения уменьшится на это число. Значение этого параметра по умолчанию равно 0, т.е. ничего не происходит.
Галочка - "Прозрачность по черно-белому рисунку" позволяет перевести изображение в один цвет с разным уровнем прозрачности. Т.е. если у вас есть цветное или черно-белое изображение, то после применения этого эффекта оно станет нарисованным одним цветом. Темные участки изображения будут более прозрачными, а светлые участки менее прозрачными. В качестве цвета используется цвет, выбранный дополнительным в палитре цветов paint.net. Почему дополнительный, а не основной? Потому, что мне показалось более логичным делать белые рисунки, а белый цвет по умолчанию установлен в палитре paint.net как дополнительный.
Несколько примеров применения эффектов.
Используем для примера вот такую исходную фотографию.
Если создать новый слой, заполнить его черным цветом и переместить вниз, а потом применить к слою с фотографией эффект "Изменить прозрачность" с включенной галочкой "Прозрачность по черно-белому рисунку". То получится вот такой рисунок. Вам кажется, что рисунок просто стал черно-белым? Нет! Попробуйте изменить черный цвет на слое ниже на какой-нибудь другой.
Для большей наглядности на рисунке ниже можно увидеть, что будет, если вместо черного слоя поместить исходную фотографию.
А вот такой результат получится у плагина "Изменение прозрачности", если дополнительно воспользоваться параметрами изменения прозрачности, здесь коэффициент ~2, а второй параметр отрицательный.
Эффект paint.net для изменения уровня прозрачности изображения.
Основное назначение этого эффекта - изменять значение прозрачности пикселей на изображении. Окно настроек этого эффекта выглядит так, как на рисунке ниже.
Два основных верхних параметра определяют два способа изменения прозрачности.
Параметр "Умножить на коэффициент" задает коэффициент на который будет умножено значение прозрачности (альфа) у всех пикселей изображения. Если значение этого параметра меньше 1, то прозрачность на изображении будет уменьшена. Если значение параметра больше 1, то уровень прозрачности будет увеличен. Значение этого параметра по умолчанию равно 1, т.е. ничего не происходит.
Параметр "Увеличить на" определяет число которое будет прибавлено к текущему уровню прозрачности пикселей на изображении. Если значение этого параметра положительное, то уровень прозрачности увеличится. Если значение отрицательное, то прозрачность у всех точек изображения уменьшится на это число. Значение этого параметра по умолчанию равно 0, т.е. ничего не происходит.
Галочка - "Прозрачность по черно-белому рисунку" позволяет перевести изображение в один цвет с разным уровнем прозрачности. Т.е. если у вас есть цветное или черно-белое изображение, то после применения этого эффекта оно станет нарисованным одним цветом. Темные участки изображения будут более прозрачными, а светлые участки менее прозрачными. В качестве цвета используется цвет, выбранный дополнительным в палитре цветов paint.net. Почему дополнительный, а не основной? Потому, что мне показалось более логичным делать белые рисунки, а белый цвет по умолчанию установлен в палитре paint.net как дополнительный.
Несколько примеров применения эффектов.
Используем для примера вот такую исходную фотографию.
Если создать новый слой, заполнить его черным цветом и переместить вниз, а потом применить к слою с фотографией эффект "Изменить прозрачность" с включенной галочкой "Прозрачность по черно-белому рисунку". То получится вот такой рисунок. Вам кажется, что рисунок просто стал черно-белым? Нет! Попробуйте изменить черный цвет на слое ниже на какой-нибудь другой.
Для большей наглядности на рисунке ниже можно увидеть, что будет, если вместо черного слоя поместить исходную фотографию.
А вот такой результат получится у плагина "Изменение прозрачности", если дополнительно воспользоваться параметрами изменения прозрачности, здесь коэффициент ~2, а второй параметр отрицательный.
- Вложения
-
- xmario_alpha.rar
- Скачать эффект для paint.net "Изменение прозрачности"
- (4.5 КБ) 4075 скачиваний
Последний раз редактировалось ReMake 08 дек 2018, 22:47, всего редактировалось 1 раз.
Причина: Уточнен текст
Причина: Уточнен текст
paint.net - это бесплатный графический редактор - где бесплатно скачать paint.net - как установить эффекты и плагины в paint.net, где скачать inkscape и уроки inkscape
- xmario
- Администратор
- Сообщения: 3402
- Зарегистрирован: 03 апр 2010, 20:12
- Репутация: 45
- Пол: Мужской
- Откуда: Москва
Исходный код эффекта Изменение прозрачности
Для тех, кому интересно, ниже привожу исходный код эффекта paint.net "Изменение прозрачности" для CodeLab.
Код: Выделить всё
#region UICode
double Amount1 = 1; // [0,50] Умножить на коэффициент
int Amount2 = 0; // [-100,100] Увеличить на
bool Amount3 = false; // [0,1] Прозрачность по черно-белому рисунку
#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();
ColorBgra SecondaryColor = (ColorBgra)EnvironmentParameters.SecondaryColor;
ColorBgra CurrentPixel;
for (int y = rect.Top; y < rect.Bottom; y++)
{
for (int x = rect.Left; x < rect.Right; x++)
{
CurrentPixel = src[x,y];
if (CurrentPixel.A > 0)
{
if (Amount3 == true)
{
CurrentPixel.A = (byte)(int)((CurrentPixel.R+CurrentPixel.G+CurrentPixel.B)/3);
CurrentPixel.R = (byte)SecondaryColor.R;
CurrentPixel.G = (byte)SecondaryColor.G;
CurrentPixel.B = (byte)SecondaryColor.B;
}
int alpha = CurrentPixel.A;
alpha = (int)(CurrentPixel.A*Amount1 + Amount2);
if (alpha > 255) {alpha = 255;}
if (alpha < 0) {alpha = 0;}
CurrentPixel.A = (byte) alpha;
}
dst[x,y] = CurrentPixel;
}
}
}
paint.net - это бесплатный графический редактор - где бесплатно скачать paint.net - как установить эффекты и плагины в paint.net, где скачать inkscape и уроки inkscape
-
- Сообщения: 7
- Зарегистрирован: 11 мар 2014, 15:03
- Репутация: 0
- Пол: Мужской
Re: Изменение прозрачности
Ох, спасибо тебе добрый человек. Хороший плагин.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость