TAChart сохранение изображения и сглаживание [решено]

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

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

TAChart сохранение изображения и сглаживание [решено]

Сообщение lnx » 08.07.2015 12:02:53

Добрый день,
Моя программа рисует график используя компоненты TAChart и LineSeries, для отрисовки используется BGRA (GUIConnector = ChartGUIConnectorBGRA1).
График отрисовывается со сглаживанием и выглядит нормально в запущенной программе, но сохраняется (Chart1.SaveToFile(TPortableNetworkGraphic,SaveDialog1.FileName) без сглаживания.
Результат одинаковый в Windows и Linux, пробовал сохранять как PNG и JPEG. Изменение Параметра TAChart AntiAliasingMode на результат не влияет.
Как правильно сохранить изображение графика со сглаживанием?
Пример изображений:
image.png
okno-crop.png
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось lnx 08.07.2015 16:21:15, всего редактировалось 1 раз.
Аватара пользователя
lnx
незнакомец
 
Сообщения: 2
Зарегистрирован: 08.07.2015 11:35:04

Re: TAChart сохранение изображения и сглаживание

Сообщение java73 » 08.07.2015 12:15:36

Попробуйте метод костыля, мне всегда помогает))
я бы предложил использовать прокладку в виде TImage, куда сперва сохранить канву TChart'а, а потом уже сохранять в файл TImage
Вдруг поможет
java73
постоялец
 
Сообщения: 257
Зарегистрирован: 21.11.2013 09:08:10

Re: TAChart сохранение изображения и сглаживание

Сообщение lnx » 08.07.2015 15:51:55

java73, спасибо за наводку!
Вот так реализовал:
Код: Выделить всё
procedure TForm1.Button5Click(Sender: TObject);
var
   bmp: TBitmap;
   rectangle: TRect;
   Png: TPortableNetworkGraphic;
begin
   rectangle:=Rect(0,0,640,480);
   bmp:=TBitmap.Create;
   bmp.width:=rectangle.right;
   bmp.height:=rectangle.bottom;;
   bmp.Canvas.CopyRect(rectangle,Chart1.Canvas,rectangle);
   Png:= TPortableNetworkGraphic.Create;
   Png.Assign(bmp);
   if SaveDialog1.Execute then Png.SaveToFile(SaveDialog1.FileName);
   bmp.Free;
   Png.Free;
Аватара пользователя
lnx
незнакомец
 
Сообщения: 2
Зарегистрирован: 08.07.2015 11:35:04


Вернуться в Lazarus

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

Сейчас этот форум просматривают: Yandex [Bot] и гости: 256

Рейтинг@Mail.ru