Градиент по окружности

Плагины и эффекты для Paint.NET с интерфейсом на русском языке. Поскольку этот сайт посвящен в первую очередь обсуждению Paint.NET на русском языке, то необходимость создания этого раздела очевидна. Если вы хотите опубликовать свой собственный русскоязычный эффект, то вам сюда.
Аватара пользователя
xmario
Администратор
Сообщения: 3384
Зарегистрирован: 03 апр 2010, 20:12
Репутация: 32
Пол: Мужской
Откуда: Москва

Градиент по окружности

Сообщение xmario » 31 янв 2011, 12:01

Плагин paint-net - прозрачный градиент между окружностями

Идея этого плагина родилась давно из пожелания одного из посетителей нашего форума. Поначалу область применения подобного плагина показалась очень экзотической, до тех пор, пока я не попробовал его сделать и получить первый результат.

Скачать файл плагина градиент по окружности можно ниже. После установки плагин будет доступен в меню Эффекты - Узоры - Градиент по окружности.

Смысл этого плагина очень простой. Между двумя окружностями определенных радиусов можно настроить градиент в режиме прозрачности. Наглядно иллюстрирует это скриншот, приведенный ниже.

Изображение

Если добавить под слоем с рисунком какой-нибудь фон, например, просто черный, то можно делать вот такие "объемные" :implication: шары, практически одним кликом.

Изображение
Вложения
xmario_gradient_circle.rar
Плагин paint-net - прозрачный градиент между окружностями
(4.41 КБ) 1531 скачивание

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

Re: Градиент по окружности

Сообщение xmario » 31 янв 2011, 12:11

Для тех, кому интересно, ниже приведен исходный код плагина для CodeLab.

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

#region UICode
int Amount1 = 250; // [1,500] Внешний радиус круга
int Amount2 = 50; // [1,500] Внутренний радиус круга
int Amount3 = 100; // [0,255] Прозрачность у внешнего радиуса
int Amount4 = 255; // [0,255] Прозрачность у внутреннего радиуса
#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 CurrentPixel;
    for (int y = rect.Top; y < rect.Bottom; y++)
    {
        for (int x = rect.Left; x < rect.Right; x++)
        {
            CurrentPixel = src[x,y];
            if (
                (((x-CenterX)*(x-CenterX)+(y-CenterY)*(y-CenterY))-Amount1*Amount1 <= 0)
                &&
                (((x-CenterX)*(x-CenterX)+(y-CenterY)*(y-CenterY))-Amount2*Amount2 >= 0)
                &&
                (Amount1 > Amount2)
               )
            {
            // Окружность градиентом:
            double delta = Amount1 - Amount2; //ширина окружности
            double d_alpha = Amount4 - Amount3; //ширина градиента
            double step = d_alpha/delta; //шаг градиента
            //определяем текущий радиус окружности
            double d_radius = Math.Sqrt(((x-CenterX)*(x-CenterX)+(y-CenterY)*(y-CenterY))) - Amount2;
                
            CurrentPixel.A = (byte)(int)(Amount4-(d_radius*step));
            dst[x,y] = CurrentPixel;
            }
            else
            {
            dst[x,y] = CurrentPixel;
            }
        }
    }
}

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

Re: Градиент по окружности

Сообщение Lynx » 31 янв 2011, 12:49

А что в узоры то? Может в другой какой раздел. У меня этот уже в экран не помещается :lol: В следующий раз делай под что-нибудь другое. А плагин полезный. Помню, как какой-то юзверь очень долго нас мучал: "как добиться такого эффекта вручную". А теперь раз и готово, спасибо. Я градиенты вообще люблю в любом виде.
"Чтобы уметь рисовать - надо рисовать" John Howe

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

Re: Градиент по окружности

Сообщение xmario » 31 янв 2011, 13:15

В узоры разместил по аналогии с плагином многоцветный градиент - Multi Color Gradient. Раз буржуи размещают градиенты в узоры, то наверное так правильно... :unknown: Хотя, у меня это меню, тоже в экран не помещается.

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

Re: Градиент по окружности

Сообщение Lynx » 31 янв 2011, 13:28

А совместно с этим плагином или применяя цветовой баланс теперь значительно ускорится процесс создания всяких прикольных штучек. И шарики бокэ теперь делать быстро можно, и просто пузыри мыльные. Вот только если бы еще один плагин был.... размножение, чтобы не копировать кучу шаров вручную. Желательно с заданной динамикой, например от большего к меньшему.
Вот тогда классные узоры делать будет не утомительно. А то что бы даже точек накидать нужно делать кучу копий руками
Вот уже опробывала полезность. :lol:

Изображение

Дык у тебя же есть плагины в разделе Color там еще свободного места очень много.
"Чтобы уметь рисовать - надо рисовать" John Howe

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

Re: Градиент по окружности

Сообщение xmario » 31 янв 2011, 13:45

Классная идея, насчет пузырей :)
А что касается меню Color - так Color - это цвет... каким боком тут цвет, если градиент прозрачный :ROFL:

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

Re: Градиент по окружности

Сообщение Lynx » 31 янв 2011, 13:47

Да какая разница. Было бы удобно пользоваться. А что где находится так к этому быстро привыкаешь автоматом.
Кста, Крисс в обновлении убрал свой многоцветный градиент ( тот где четыре настраиваемых цвета) из узоров и поставил просто в эффекты . Так же в просто ээфектах находится и градиент для автоматического заполнения по выделению
Изображение
Я им часто пользуюсь при текстах . Это если уж по аналогии их расставлять.
"Чтобы уметь рисовать - надо рисовать" John Howe

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

Re: Градиент по окружности

Сообщение xmario » 31 янв 2011, 13:56

Ну пусть уж будет в узорах.. я подумал просто про меню Эффекты, но этот плагин - градиент по окружжности - не такой уж и супер нужный плагин, что бы ставить его в главное меню :-D

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

Re: Градиент по окружности

Сообщение Lynx » 31 янв 2011, 14:00

Да пусть конечно, тем более он рядышком с твоей же окружностью. Подумай об размножении. Просто тогда и листики на деревьях, и шарики для пузырей и точки для узоров будет так здорово делать. А если еще и с динамикой так вообще супер. Это же настраиваемая кисть получится! Тем боле все так любят такие узорчики, особенно в векторе. Я пока векторный дождь делала с его узорами так замучалась вручную копировать просто точки.
"Чтобы уметь рисовать - надо рисовать" John Howe

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

Re: Градиент по окружности

Сообщение Lynx » 17 фев 2011, 13:44

Это надо же! Просить плагин который уже есть.. я просто о нем забыла, ужосс!
Вот тут как пузырики, например, раскидать по фону не мучаясь с копированием

viewtopic.php?f=6&t=48&start=30
"Чтобы уметь рисовать - надо рисовать" John Howe

Ответить

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

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

Сейчас этот форум просматривают: Yandex [Bot] и 1 гость