Примитивное рисование в файл |
Здравствуйте, гость ( Вход | Регистрация )
Примитивное рисование в файл |
NordWest |
24.5.2009, 18:35
Сообщение
#1
|
Студент Группа: Участник Сообщений: 86 Регистрация: 26.11.2008 Пользователь №: 433 Спасибо сказали: 1 раз(а) Репутация: 0 |
Здравствуйте!
Требуется рисовать графики, для начала совсем примитивные, но опыта нет и в примерах в основном пишется про рисование в окнах. А нужно из консольного приложения в файл .jpg, .bmp... ну в любой графический. Из примеров и описания набрал кое чего, пробую так: CODE QImage *baseImg; QVector<QRgb> colormap; int maxIW = 1160; int maxIH = 1040; baseImg = new QImage(maxIW, maxIH, QImage::Format_Indexed8); for (k=0; k<256;k++) colormap << qRgb(k,k,k); baseImg->setColorTable(colormap); QPainter painter(baseImg); painter.setBrush(Qt::cyan); painter.setPen(Qt::darkCyan); painter.drawEllipse(10,20, 80,70); painter.end(); baseImg->save("drawing.bmp"); Получается черный прямоугольник размерами 1160х1040. Что я тут упустил для правильного черчения? О, изменил одну строчку: CODE baseImg = new QImage(maxIW, maxIH, QImage::Format_RGB444); Добавил ещё: CODE QBrush baseBrush(Qt::white, Qt::SolidPattern); painter.fillRect(0, 0, 100, 100, baseBrush); Получилось: Сообщение отредактировал NordWest - 24.5.2009, 18:37 |
|
|
NordWest |
24.5.2009, 22:38
Сообщение
#2
|
Студент Группа: Участник Сообщений: 86 Регистрация: 26.11.2008 Пользователь №: 433 Спасибо сказали: 1 раз(а) Репутация: 0 |
Вот и с надписями получилось:
CODE painter.setPen(basePen); infoStr = QString("M = %1 - %2").arg((int)dims[2][i], 2, 10, QLatin1Char(' ')).arg((int)dims[2][i+1], 2, 10, QLatin1Char(' ')); painter.setFont(QFont("Arial", 40)); painter.drawText(textRect, infoStr, textOpt); Сообщение отредактировал NordWest - 24.5.2009, 22:41 |
|
|
Текстовая версия | Сейчас: 15.1.2025, 22:56 |