![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как нарисовать прогрессбар градиентом?
Knight © (2009-10-29 09:41:00)... с закруглёнными углами и обтекаемым градиентом к краю, чтобы было похоже на водянной столбик.
Германн (2009-10-30 01:55:00) [1]
> Юрий Зотов © (29.10.09 23:12) [21]
Жуть!
Копирайт тот же.
:)
Игорь Шевченко (2009-10-30 00:09:00) [2]все красивые картинки делаются набором готовых битмапов. Хоть водяной столбик, хоть ледяной
antonn (2009-10-29 23:52:00) [3]что то типа такого: http://desksoft.ru/index.php?downloads=attachments&id=240(12кб), просто с затемнением краев, ну смысл я донес. Сделать такую мягкую тень градиентом сильно проблематично.
Юрий Зотов (2009-10-29 23:12:00) [4]> antonn © (29.10.09 23:03) [20]
Мррррак.
(с) Эллочка Л.
:o)
antonn (2009-10-29 23:03:00) [5]сделать объем можно так. Рисуешь однотонный фон, на буферном битмапе рисуешь белый фон и черную рамку по периметру (или наоборот, как понравится), с закругленными краями, залив область вне прямоугольника. Затем размываешь гауссом маску. Рисуешь поверх еще раз прямоугольник с закругленными краями, залив снаружи все черным светом и не трогая размытую область внутри. Получишь маску, в которой по краям будет полутень. Высветляешь по ней свой однотонный фон и получаешь стеклянную хрень :) для объема нужно одну(и) сторону(и) высветлить, а другие затемнить. Для этого можно создать еще один буфер, в котором нарисовать градиент по диагонали, в центре будет полная прозрачность, по краям непрозрачность (маски), и при высветлении/затемнении фона первым буфером брать коефициент прозрачности со второго буфера, сначала проход на высветление, потом проход на затемнение.
Юрий Зотов (2009-10-29 22:06:00) [6]Если нужно получить а-ля водяной столбик, то это, ИМХО, прямоугольник, у которого:
- высота намного больше ширины;
- скруглена верхушка (можно сделать через регионы);
- имеется горизонтальная симметричная градиентная заливка с более светлым цветом в центре и с более темным - по краям.
GDI+ (2009-10-29 19:58:00) [7][17] Использовать в виде маски для прямоугольного градиента. И отрисовывать всё сперва на кеширующий битмап.
GDI+ (2009-10-29 19:55:00) [8]
>
> Knight © (29.10.09 09:41)
>
> ... с закруглёнными углами и обтекаемым градиентом к краю,
> чтобы было похоже на водянной столбик.
Хм. прямоугольник и два круга по краям с осью по концам прямоугольника?
Knight (2009-10-29 12:05:00) [9]Чё-то нашёл по градиентам по-больше
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1090
Knight (2009-10-29 11:59:00) [10]Во! Подобрал слово ... надо выдавить прямоугольник с закруглением верхних граней по всему периметру :)
Knight (2009-10-29 11:51:00) [11]Ровный градиент я сделаю... углы обрежу.. границы ровными градиентами отрусую, но как сделать закруглённый градиант на углах?
brother (2009-10-29 11:24:00) [12]> с ну или с регионами повозиться и обрезать как надо ;)
rgn: HRGN;
...
rgn := CreateRoundRectRgn(0, 0, Panel1.Width, Panel1.WidthHeight, 10, 10);
SetWindowRgn(Panel1.WidthHandle, rgn, True);
...
:)
brother (2009-10-29 11:04:00) [13]> панели
с ну или с регионами повозиться и обрезать как надо ;)
brother (2009-10-29 11:00:00) [14]> Эт к тому, что проще битмапами с прозрачностью? :)
нафиг лишние телодвижения?
brother (2009-10-29 10:59:00) [15]и что смущает?
рисуем прямоугольный градиент, скругляем края (рисуем цветом фона) ... О_о
Knight (2009-10-29 10:58:00) [16]
> brother © (29.10.09 10:53) [7]
Эт к тому, что проще битмапами с прозрачностью? :)
Knight (2009-10-29 10:57:00) [17]Есть... цвет панели, на которой будет находиться.
brother (2009-10-29 10:53:00) [18]у тебя цвет фона есть?
Knight (2009-10-29 10:50:00) [19]
> brother © (29.10.09 10:37) [5]
Там всё линейные градиенты, это и у меня есть, А вот как закругления обрисовать? т.е. граница RoundRect.
brother (2009-10-29 10:37:00) [20]рисуй градиент:
http://delphiworld.narod.ru/base/arbitrary_gradient.html
края доработай сам)