Скачать MetaTrader 5

Обсуждение статьи "Изучаем класс CCanvas. Сглаживание и тени"

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Пиши статьи с помощью нашего редактора. Это удобно!
MetaQuotes Software Corp.
Модератор
181349
MetaQuotes Software Corp. 2015.12.04 10:50 

Опубликована статья Изучаем класс CCanvas. Сглаживание и тени:

Алгоритм сглаживания класса CCanvas — основа всех построений, в которых используется сглаживание. В статье рассказано о том, как работает этот алгоритм, приведены примеры визуализации его работы. Кроме того, рассмотрено рисование теней графических объектов и разработан подробный алгоритм отрисовки тени на канвасе. Для расчетов применена библиотека численного анализа ALGLIB.

Думаю, что одной из задач, которые решаются при рисовании с помощью класса CCanvas — это отображение различных динамических эффектов. Например, реализация графических построений с применением сглаживания — такие сглаженные построения приобретают более привлекательный вид. Или рисование нового стиля отображения линии индикатора — сплайн. А может, это будет рисование динамического индикатора в отдельном окне — что-то похожее на рисование частотной характеристики на осциллографе. В любом случае рисование открывает новые горизонты применения в своих разработках.


3. Тень объекта

Рисование тени придает графическим объектам более мягкие очертания контура. При этом возникает небольшой эффект объема — графические объекты визуально перестают быть плоскими. К тому же тени обладают очень интересным и полезным свойством — тени объектов, как правило, полупрозрачны, и при наложении графики с тенями создается дополнительное ощущение объема.

3.1. Виды тени

Ниже представлены самые распространенные виды тени:

Рис. 4. Виды теней

Рис. 4. Виды теней

Автор: Karputov Vladimir

Andrey Khatimlianskii
56197
Andrey Khatimlianskii 2015.12.04 19:16  

На удивление хорошая статья получилась, поздравляю.

Картинки очень наглядные.

Vasiliy Sokolov
21781
Vasiliy Sokolov 2015.12.06 16:59  
Andrey Khatimlianskii:

На удивление хорошая статья получилась, поздравляю.

Картинки очень наглядные.

Почему на удивление?

Статья хорошая, но вот применение теней практического применения в трейдинге практически не имеет.

Владимир, ну кода же Вы порадуете нас классами для рисования графики (диаграмм, линейных графиков и т.п., как в excel'е в общем)? Если кто и сможет их запелить, то только Вы.

Igor Volodin
3797
Igor Volodin 2015.12.06 17:24  

Статья классная, канвас замечательная вещь.

Можно, кстати, просто взять BMP ресурс с нужным альфа каналом для нужного вида тени (хоть тройная волна) и просто бахать массив пикселов (можно растянуть фрагмент до нужных размеров).

Но предложенный мной вариант тени подойдет только для прямоугольных областей.

Igor Volodin
3797
Igor Volodin 2015.12.07 20:56  

Пример: взял прозрачное PNG изображение из онлайн коллекции теней для сайта:

Переводим его в BMP с альфа каналом, программно режем его на 9 частей и можем натягивать на бокс любого размера, вот что вышло (правда пришлось заморочиться с расчетом прозрачности объектов лежащих в канвасе друг на друге):

 

Andrey Khatimlianskii
56197
Andrey Khatimlianskii 2015.12.08 02:26  
Vasiliy Sokolov:

Почему на удивление?

Это личное, не обращайте внимания  )

Мне не очень нравится стиль изложения Владимира, немного занудный

А тут получилось вполне живо.


Vasiliy Sokolov:

Статья хорошая, но вот применение теней практического применения в трейдинге практически не имеет.

Владимир, ну кода же Вы порадуете нас классами для рисования графики (диаграмм, линейных графиков и т.п., как в excel'е в общем)? Если кто и сможет их запелить, то только Вы.

А какое может быть практическое применение графики в трейдинге?

Многие и про непрактичность трендовых линий говорят, не то что каких-то линейных графиков или теней.

А самое близкое к практике - покупка и продажа, а для них можно сделать кнопки. Так вот они с помощью теней могут быть красивее ;)

Alexander Puzanov
29610
Alexander Puzanov 2015.12.08 06:33  
Igor Volodin:

Пример: взял прозрачное PNG изображение из онлайн коллекции теней для сайта:

Переводим его в BMP с альфа каналом

OFF: вот отличная тема для 'видеоподсказки от Барабашки' - как прозрачный PNG перегнать в BMP32. Тема актуальна сугубо для MQL-кодеров (слава МетаКвотам), а Владимир как раз специализируется на MQL-графике. Есть несколько вариантов, можно сделать несколько роликов или 1 сводный
Vladimir Karputov
Модератор
46117
Vladimir Karputov 2015.12.08 07:50  
Alexander Puzanov:
OFF: вот отличная тема для 'видеоподсказки от Барабашки' - как прозрачный PNG перегнать в BMP32. Тема актуальна сугубо для MQL-кодеров (слава МетаКвотам), а Владимир как раз специализируется на MQL-графике. Есть несколько вариантов, можно сделать несколько роликов или 1 сводный

Есть у меня только один способ конвертации *.png 32 бита с прозрачностью в *.bmp с прозрачностью. Делается с помощью махонькой программы AlphaConv.exe, автор Adam Najmanowicz.

Alexander Puzanov
29610
Alexander Puzanov 2015.12.08 08:08  
Karputov Vladimir:

Есть у меня только один способ конвертации *.png 32 бита с прозрачностью в *.bmp с прозрачностью. Делается с помощью махонькой программы AlphaConv.exe, автор Adam Najmanowicz.

Я пробовал где-то с год назад её и др варианты - с моими исходными картиками из всех вариантов сработал только Фотошоп
Vladimir Karputov
Модератор
46117
Vladimir Karputov 2015.12.08 08:20  
Alexander Puzanov:
Я пробовал где-то с год назад её и др варианты - с моими исходными картиками из всех вариантов сработал только Фотошоп
Я стараюсь использовать по-максимуму бесплатные варианты, поэтому Фотошоп не применяю.
Vasiliy Sokolov
21781
Vasiliy Sokolov 2015.12.08 10:14  
Andrey Khatimlianskii:

Это личное, не обращайте внимания  )

Мне не очень нравится стиль изложения Владимира, немного занудный

А тут получилось вполне живо.

А какое может быть практическое применение графики в трейдинге?

Многие и про непрактичность трендовых линий говорят, не то что каких-то линейных графиков или теней.

А самое близкое к практике - покупка и продажа, а для них можно сделать кнопки. Так вот они с помощью теней могут быть красивее ;)

Похоже я на своей волне:) Но наверное хорошо, что у нас разные мнения по поводу того, в какую сторону двигать возможности MQL. На мой взгляд красивости вторичны. Более важно, имхо, дать в MQL средства по созданию мощных таблиц, графиков, интеграции с офисным софтом и пакетами статистического анализа. 
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий