LINUX.ORG.RU

imagemagick

/thread

anonymous ()

Формошлёпство 80-го уровня

Две минуты в Qt Creator

#include "Widget.h"
#include "ui_Widget.h"

#include <QPainter>
#include <QFileDialog>
#include <QDebug>

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);

    QPixmap cub("image.jpg");

    ui->image->setPixmap(cub);

    ui->spinBox->setMaximum(cub.width());
    ui->spinBox->setValue(cub.width() / 2);
    ui->spinBox_2->setMaximum(cub.height());
    ui->spinBox_2->setValue(cub.height() / 3);
}

void Widget::on_pushButton_clicked()
{
    QPixmap pix("image.jpg");
    QPainter painter(&pix);

    painter.drawText(ui->spinBox->value(), ui->spinBox_2->value(), ui->lineEdit->text());

    ui->image->setPixmap(pix);
}

void Widget::on_pushButton_2_clicked()
{
    QString fileName = QFileDialog::getSaveFileName(this,
                                                    tr("Save *.png file"), "",
                                                    tr("Image File (*.png);;All Files (*)"));
    QPixmap image = ui->image->pixmap()->copy();
    if (image.save(fileName, "PNG")) {
        qDebug() << "Grabbed!";
    } else {
        qDebug() << "Can't write PNG image!";
    }
}

void Widget::on_spinBox_valueChanged()
{
    on_pushButton_clicked();
}

void Widget::on_spinBox_2_valueChanged()
{
    on_pushButton_clicked();
}

void Widget::on_lineEdit_textChanged()
{
    on_pushButton_clicked();
}

Widget::~Widget()
{
    delete ui;
}
EXL ★★★★★ ()
Последнее исправление: EXL (всего исправлений: 1 )

imagemagick

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.