Компонент для отображения круговой 3-х мерной диаграммы

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Компонент для отображения круговой 3-х мерной диаграммы

Сообщение alexkam » 29.02.2012 10:53:32

Подскажите компонент для отображения круговой 3-х мерной диаграммы?
alexkam
постоялец
 
Сообщения: 152
Зарегистрирован: 07.09.2009 20:03:59

Re: Компоненты и примеры

Сообщение Ask » 29.02.2012 20:55:13

alexkam писал(а):Подскажите компонент для отображения круговой 3-х мерной диаграммы?

Можно попробовать TAChart начиная с ревизии 35624.
Поддержка пока неполная, но в простейших случаях работает.
Ask
постоялец
 
Сообщения: 163
Зарегистрирован: 25.12.2008 03:51:37

Re: Компоненты и примеры

Сообщение alexkam » 29.02.2012 20:59:58

А где там 3d круговая диаграмма?
alexkam
постоялец
 
Сообщения: 152
Зарегистрирован: 07.09.2009 20:03:59

Re: Компоненты и примеры

Сообщение Ask » 29.02.2012 21:25:25

Как и с остальными видами диаграмм -- нужно указать ненулевое значение свойства Depth.
Обращаю внимание, что фичу Я добавил вот только что, соответственно получить её можно либо из svn,
либо завтра из snapshot.
Демку добавлю завтра -- сегодня уже спать пора :)
Ask
постоялец
 
Сообщения: 163
Зарегистрирован: 25.12.2008 03:51:37

Re: Компоненты и примеры

Сообщение alexkam » 01.03.2012 14:14:24

Ask писал(а):Как и с остальными видами диаграмм -- нужно указать ненулевое значение свойства Depth.
Обращаю внимание, что фичу Я добавил вот только что, соответственно получить её можно либо из svn,
либо завтра из snapshot.
Демку добавлю завтра -- сегодня уже спать пора


Спасибо, получилось.
Теперь вопрос как изменить цвет линии отрисовки и сгладить изображение?
alexkam
постоялец
 
Сообщения: 152
Зарегистрирован: 07.09.2009 20:03:59

Re: Компоненты и примеры

Сообщение Ask » 01.03.2012 16:18:05

alexkam писал(а):Теперь вопрос как изменить цвет линии отрисовки

Пока никак, но это тривиально добавить -- нужен одинаковый цвет для всех линий, правильно?

alexkam писал(а):и сгладить изображение?

С этим посложнее. Вообще сглаживание включается свойством Chart.AntialiasingMode:=amOn
Однако сам TAChart ничего не сглаживает, а только устанавливает параметры отрисовки.
К сожалению, в большинстве wingetset'ов LCL сглаживание не работает, в том числе на Win32.
Работает, например, под Qt -- даже на Windows.

В качестве обходного маневра можно использовать специализированные библиотеки для
рисования TAChart (см. http://wiki.lazarus.freepascal.org/TAChart_documentation#Drawers)
Если Я правльно помню, на данный момент сглаживание работает в AggPas, BGRABitmap и OpenGL.

Из них наиболее перспективный -- BGRABitmap, поскольку библиотека активно развивается.
Ask
постоялец
 
Сообщения: 163
Зарегистрирован: 25.12.2008 03:51:37

Re: Компоненты и примеры

Сообщение alexkam » 01.03.2012 17:10:59

Ask писал(а):Пока никак, но это тривиально добавить -- нужен одинаковый цвет для всех линий, правильно?

Да, именно так.

Добавлено спустя 53 минуты 2 секунды:
Взял пример lazaruscomponentstachartdemobgra который использует библиотеку BGRABitmap. Установил свойство Chart.AntialiasingMode:=amDontCare
Получилось!!! Еще бы цвет линии поменять.

Добавлено спустя 10 минут 59 секунд:
Взял пример lazarus\components\tachart\demo\bgra который использует библиотеку BGRABitmap. Установил свойство Chart.AntialiasingMode:=amDontCare
Получилось!!! Еще бы цвет линии поменять.
alexkam
постоялец
 
Сообщения: 152
Зарегистрирован: 07.09.2009 20:03:59

Re: Компоненты и примеры

Сообщение Ask » 01.03.2012 19:11:22

alexkam писал(а):Еще бы цвет линии поменять.


См. свойство PieSeries.EdgePen начиная с ревизии 35639
Ask
постоялец
 
Сообщения: 163
Зарегистрирован: 25.12.2008 03:51:37


Вернуться в Lazarus

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 221

Рейтинг@Mail.ru