2013-08-12 1 views
0

Я использую компонент Teechart, который поставляется с Delphi XE3. Мне нужно иметь несколько графиков, а затем сохранить их в файл jpg. Пользователь может выбрать ключевое слово и отображать каждый график.Delphi Teechart - Сохранение изображения без взаимодействия с пользователем

Что мне нужно сделать для каждого ключевого слова, нарисовать график, а затем сохранить его в файл без взаимодействия с пользователем.

Я пробовал событие OnAfterDraw, а затем сохранил диаграмму как изображение , а затем вызвал другое ключевое слово. Однако это не работает , потому что, когда вы сохраняете изображение, оно напоминает OnAfterDraw, а I либо заканчивается бесконечным циклом ИЛИ, если я устанавливаю событие на ноль, а затем сбрасывает его обратно, он никогда не будет вызван снова.

У кого-нибудь есть предложения по тому, как это сделать, пожалуйста?

С уважением Anthoni

ответ

0

ОК, так что я нашел способ, но это, кажется, очень запутано для меня.

В принципе, я поместил таймер в форму и переместил событие Teechart OnAfterDraw в частную секцию. Затем я создаю список ключевых слов и запускаю таймер.

Таймер сначала отключает себя, а затем добавляет событие OnAfterDraw в TeeChart, прежде чем вызывать процедуру для заполнения данных диаграммы.

Внутри OnAfterDraw Я сохраняю диаграмму как изображение, проверяю, доступны ли какие-либо ключевые слова, и если да, активируйте таймер, в противном случае включите мое собственное событие.

Как я уже сказал, это работает, но не уверен в общих последствиях этого. Если у кого-то есть предложения или комментарии по этому методу, я бы очень одобрил его.

С уважением Anthoni

1

Вы могли бы попробовать вызвать TChart.Draw(); диаграмму, которая вынуждает отображаемую диаграмму перед экспортом, так что вам не нужно использовать событие OnAfterDraw.