Запись команд рисования

   
На этом шаге рассмотрим запись команд рисования.

   
Класс QPicture — это контекст рисования, который предоставляет возможность протоколирования команд класса QPainter. С его помощью команды можно даже записывать в отдельные файлы (называемые метафайлами), а потом загружать их снова, чтобы повторить ранее проделанные действия. Эти действия можно перенаправлять и на другие контексты рисования, например принтер или экран. Ниже представлена запись одной команды рисования в файл myline.dat.

QPicture pic;
QPainter painter;
painter.begin(&pic);
painter.drawLine(20, 20, 50, 50);
painter.end();
if (!pic.save("myline.dat"))
{
    qDebug() << "Не могу сохранить файл";
}

   
Следующий код демонстрирует загрузку команд из файла и их исполнение в другом контексте. Для отображения в другом контексте используется метод drawPicture(). Первый параметр этого метода устанавливает позицию, с которой начнется рисование, а во втором параметре передается объект класса QPicture.

QPicture pic;
if (!pic.load("myline.dat"))
{
    qDebug() << "Не могу загрузить файл";
}
QPainter painter;
painter.begin(this)
painter.drawPicture(QPoint(0, 0), pic);
painter.end()

   
Файлы приложения можно взять Предыдущий шаг
Содержание
Следующий шаг



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий