У меня есть простая диаграмма (TChart) на форме. Я попробовал распечатать эту диаграмму с помощью:После печати TChart я не могу рисовать линии
Chart1.Draw(TPrinterDrawer.Create(Printer), myRect);
и карта печатается ОК. Но когда я пытаюсь нарисовать линию (ы) после рисования диаграммы, т.е. .:
printer.Canvas.MoveTo(Printer.PageWidth div 6, (Printer.PageHeight *4) div 5);
printer.Canvas.LineTo(Printer.PageWidth div 2, (Printer.PageHeight *4) div 5);
Нет линии рисуются (на реальном принтер или растровый холсте) с печатной графики к концу дока.
Когда я выбираю документ Microsoft XPS Document, строки печатаются на странице.
Что мне нужно для решения этой проблемы?
Спасибо @ wp_1233996 за ответ. Есть ли способ обойти эту проблему? –
Используйте версию соединительной линии или дождитесь версии 1.6.2. Если вы не хотите использовать магистраль или ждать новой версии, вы также можете редактировать TAChartSources: –
Извините, я слишком рано нажал клавишу возврата ... Это то, что вам нужно изменить: откройте файл TAGraph.pas, он находится в компоненты папки/tachart вашей установки Lazarus. Найдите реализацию метода TChart.Draw (...). Перед «концом»; этой процедуры добавьте следующие две строки: «ADrawer.SetXor (false); ADrawer.PrepareSimplePen (clBlack);» (Я не могу вступить в эту цепочку, но я думаю, вы понимаете, что я имею в виду). Затем перекомпилируйте пакет tachartlazaruspkg.lpk. (Не забудьте сделать резервную копию TAGraph.pas!) –