Je charge une image à qt en utilisant Imagemagick puis J'ai plusieurs widgets qui effectuent différentes actions sur une image (flou, noir et blanc, niveaux etc). Il y a un aperçu d'image que je montre à l'utilisateur final chaque fois que l'image est manipulée. Le problème que j'ai est que si par exemple j'applique quelques effets de flou (en utilisant horizontalSlider), je ne serai pas capable de l'enlever car l'objet est déjà manipulé.Comment afficher un aperçu d'une image en qt?
Voici ma connexion à la fonction
connect(ui->horizontalSlider_blur, SIGNAL(actionTriggered(int)), this, SLOT(blur(double,int)));
et voici comment j'appliquer des effets et mettre à jour l'étiquette pour afficher mon image
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);
}
aura-t-il une bonne idée de copier l'objet d'image chaque fois que j'applique des effets? si oui, comment je fais ça?
Quelles sont les meilleures pratiques pour manipuler l'image et afficher son aperçu dynamiquement?
venez sur les experts Qt!
Grand conseiller Andrew mais j'ai dit Im en utilisant des curseurs. Supposons un scénario. Je charge une image et Im applique un effet de flou à travers le curseur en tirant le curseur de 0 à 50 et si je décide que 50 est trop et je veux le ramener à 25? que vais-je faire avec l'objet image? Je vous remercie! – Sharethefun
Regardez, quand vous allez créer un nouvel effet, vous faites une copie de votre image. Donc exactement vous avez deux copies de votre image (original et une copie). À chaque étape d'un curseur, vous devez recréer ou mettre à jour la copie à partir du dernier état (image originale) et lui appliquer un effet (copie). Je pense que c'est le seul moyen, car pour appliquer l'effet correctement, vous devriez toujours avoir l'image claire. – Andrew