Делаем краудсорсовый проект по Canvas - страница 21

 
Nikolai Semko:

Изображение кнопки может формироваться или загрузкой уже готового bmp изображения или программным рисованием( здесь уж масса вариантов). А потом просто обрабатывая события мыши в OnChartEvent менять ее изображение.

Про загрузку готовой картинки я слышал. Можно менять картинки на событиях мышки. Однако, возможностей с таким подходом маловато. Нужно много картинок загружать. 4 картинки для четырех состояний + лейбл кнопки... По моему интересней вариант с программным рисованием. Короче нужно нарисовать кнопку с помощью вызова функционала класса канвас. Прорисовать линии сторон кнопки с градиентом в ширину 2 пикселя (допустим). Насколько это сложно?  Интересно это узнать))
 
Реter Konow:

Про загрузку готовой картинки я слышал. Можно менять картинки на событиях мышки. Однако, возможностей с таким подходом маловато. Нужно много картинок загружать. 4 картинки для четырех состояний + лейбл кнопки... По моему интересней вариант с программным рисованием. Короче нужно нарисовать кнопку с помощью вызова функционала класса канвас. Прорисовать линии сторон кнопки с градиентом в ширину 2 пикселя (допустим). Насколько это сложно?  Интересно это узнать))
Это не сложно. Просто стоит всего лишь начать делать.
 
Artyom Trishkin:
Это не сложно. Просто стоит всего лишь начать делать.

Да, попробую.
 
Реter Konow:

Да, попробую.


Кстати, почему думаю что вариант с рисованием лучше, потому что если количество кнопок большое, и кнопки разной величины, то картинок загружать нужно очень много. Явно не лучший вариант. Но с рисованием кнопок пока не ясно. Неужели и здесь я должен решать задачу? :)

Может кто то уже рисовал кнопки?

 
Реter Konow:


Кстати, почему думаю что вариант с рисованием лучше, потому что если количество кнопок большое, и кнопки разной величины, то картинок загружать нужно очень много. Явно не лучший вариант. Но с рисованием кнопок пока не ясно. Неужели и здесь я должен решать задачу? :)

Может кто то уже рисовал кнопки?


а в чём проблема, нарисовать 5-10 линий с разным оттенком?
 
Taras Slobodyanik:

а в чём проблема, нарисовать 5-10 линий с разным оттенком?


Я не знаю. Не владею классом канвас. Потому и спрашиваю. Вы можете кнопку нарисовать?

Нужно нарисовать 2 состояния и их смену на событии нажатия/отжатия. Это как раз по теме ветки. Насколько это реально?

 
Реter Konow:


Я не знаю. Не владею классом канвас. Потому и спрашиваю. Вы можете кнопку нарисовать?

Нужно нарисовать 2 состояния и их смену на событии нажатия/отжатия. Это как раз по теме ветки. Насколько это реально?


для начала нужно изучить рисование примитивов - точка, линия, дуга...
потом берём канвас, заполняем фон, рисуем рамку, рисуем в цикле линии с разным оттенком - от светлого к тёмному - всё - кнопка готова...
 
Taras Slobodyanik:

для начала нужно изучить рисование примитивов - точка, линия, дуга...
потом берём канвас, заполняем фон, рисуем рамку, рисуем в цикле линии с разным оттенком - от светлого к тёмному - всё - кнопка готова...

"Что нам стоит дом построить, - нарисуем, будем жить".(с)

Жаль, что почти за год существования ветки никто это так и не сделал. Может попробуете?

 
Ладно, пока желающих нет, сам попробую и отпишусь о результатах. Правда нормального ООП кода у меня не получится, но кнопку все таки попробую сделать. 
 
Реter Konow:
Ладно, пока желающих нет, сам попробую и отпишусь о результатах. Правда нормального ООП кода у меня не получится, но кнопку все таки попробую сделать. 
Почти доделал пример класса GButton, но нужно убегать. Завтра доделаю и представлю.