4 / 4 / 0
Регистрация: 21.04.2013
Сообщений: 124
1

Как закрасить столбик вертикальным градиентом (canvas)

07.05.2013, 13:48. Показов 1378. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
C++
1
2
3
4
Canvas->Brush->Color = clRed;
Canvas->Rectangle(15,50,5,5);
Canvas->Rectangle(30,50,20,5);
Canvas->Rectangle(45,50,35,5);
как сделать снизу к примеру оранжевый а вверху зеленый спасибо
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.05.2013, 13:48
Ответы с готовыми решениями:

Залить вертикальным градиентом (сверху тёмный - снизу светлый) UserControl
Каким образом залить вертикальным градиентом (сверху тёмный - снизу светлый) UserControl? Спасибо.

Как закрасить свободную часть в Canvas?
Доброе время суток, у меня появилась такая вот проблема : хочу закрасить в канвасе свободную...

Закрасить Canvas
проблема вот в чем...на канве вывожу план аудитории,он выводится,затем меняю на другую аудиторию и...

Закрасить четырехугольник в Canvas
Можно ли залить четырехугольник цветом в canvas?

1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32816 / 21154 / 8147
Регистрация: 22.10.2011
Сообщений: 36,413
Записей в блоге: 8
07.05.2013, 14:27 2
Есть ли в твоей версии Билдера функция GradientFillCanvas - неизвестно. Если есть - то вызвать ее:
C++
1
2
GradientFillCanvas(this->Canvas, RGB(255, 128, 0), clGreen, 
   Rect(15, 50, 5, 5), gdVertical);
, если нет - написать функцию:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void VerticalGradient(HDC hDC, const RECT& fillRect,
                      COLORREF rgbTop, COLORREF rgbBottom)
{
    GRADIENT_RECT gradientRect = { 0, 1 };
    TRIVERTEX triVertext[ 2 ] = {
        fillRect.left - 1,
        fillRect.top - 1,
        GetRValue(rgbTop) << 8,
        GetGValue(rgbTop) << 8,
        GetBValue(rgbTop) << 8,
        0x0000,
        fillRect.right,
        fillRect.bottom,
        GetRValue(rgbBottom) << 8,
        GetGValue(rgbBottom) << 8,
        GetBValue(rgbBottom) << 8,
        0x0000
    };
    ::GradientFill(hDC, triVertext, 2, &gradientRect, 1, GRADIENT_FILL_RECT_V);
}
, и вызвать:
C++
1
VerticalGradient(this->Canvas->Handle, Rect(15, 50, 5, 5), RGB(255, 128, 0), clGreen);
3
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.05.2013, 14:27
Помогаю со студенческими работами здесь

Закрасить canvas по клику ЛКМ
Здравствуйте всем :) С javascript &quot;на ты&quot;, посему не могу понять как сделать след. вещь. Есть...

Закрасить фон canvas в соответствии с выбором пользователя
есть combobox. в нем пункты-цвета. надо выбирать цвет и закрашивать конву этим цветом. ...

Как сделать текст вертикальным?
Поставил виджет на сайт, ( http://andreyzolotarev.ru/ ) на нем должен быть вертикальный текст, но...

Как сделать progressbar вертикальным?
Как сделать progressbar вертикальным или повернуть его на 90 градусов? Чтобы его вверх был...

Canvas html5, как разместить черный пискель в центре canvas'a?
как разместить черный пискель в центре canvas'a?

Расположить ячейки таблицы вертикальным списком. Как?
Допустим имеем таблицу в экселе 10 на 10. задача выделить область, произвести какие-то...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru