Добрый день,
Моя программа рисует график используя компоненты TAChart и LineSeries, для отрисовки используется BGRA (GUIConnector = ChartGUIConnectorBGRA1).
График отрисовывается со сглаживанием и выглядит нормально в запущенной программе, но сохраняется (Chart1.SaveToFile(TPortableNetworkGraphic,SaveDialog1.FileName) без сглаживания.
Результат одинаковый в Windows и Linux, пробовал сохранять как PNG и JPEG. Изменение Параметра TAChart AntiAliasingMode на результат не влияет.
Как правильно сохранить изображение графика со сглаживанием?
Пример изображений:
TAChart сохранение изображения и сглаживание [решено]
Модератор: Модераторы
TAChart сохранение изображения и сглаживание [решено]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось lnx 08.07.2015 15:21:15, всего редактировалось 1 раз.
Попробуйте метод костыля, мне всегда помогает))
я бы предложил использовать прокладку в виде TImage, куда сперва сохранить канву TChart'а, а потом уже сохранять в файл TImage
Вдруг поможет
я бы предложил использовать прокладку в виде TImage, куда сперва сохранить канву TChart'а, а потом уже сохранять в файл TImage
Вдруг поможет
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; 