Я загружаю изображение в qt, используя Imagemagick, и затем у меня есть несколько виджетов, которые выполняют различные действия с изображением (размытие, черно-белое изображение, уровни и т. Д.).Существует предварительный просмотр изображения, который я показываю конечному пользователю каждый раз, когда им манипулируют.
Проблема, с которой я столкнулся, заключается в том, что если, например, я применю некоторые эффекты размытия (используя горизонтальный слайдер), я не смогу удалитьэто как объект, которым уже манипулируют.
Вот мое подключение к функции
connect(ui->horizontalSlider_blur, SIGNAL(actionTriggered(int)), this, SLOT(blur(double,int)));
, и вот как я применяю эффекты и обновляю метку для отображения моего изображения
void MainWindow::blur(double factor, int pixels)
{
image.blur(pixels,factor);
image.write(&blob);
imgData = ((char*)(blob.data()));
pixmap.loadFromData(imgData, "XPM");
ui->label->setPixmap( pixmap );
}
Будет ли хорошей идеей копировать объект изображения каждый раз, когда я применяю эффекты?если да, то как мне это сделать?
Как лучше всего управлять изображением и динамически отображать его предварительный просмотр?
приходят эксперты Qt!