Imagemagickを使用してQtに画像をロードしてから 画像にさまざまな操作(ぼかし、白黒、レベルなど)を実行するウィジェットがいくつかあります。イメージが操作されるたびにエンドユーザーに表示されるイメージプレビューがあります。Qtに画像のプレビューを表示するには?
私が持っている問題は、例えば、私は(水平スライダーを使用して)、いくつかのぼかし効果を適用した場合、私はオブジェクトが既に操作されるようにそれを削除することができる習慣ということです。ここで
が機能
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の専門家は、
偉大な助言アンドリューしかし私はスライダーを使用して私は言った。シナリオを想定します。私はイメージをロードし、私は50が大きすぎると判断した場合、私は25に戻ってそれを取りたいですか?画像オブジェクトで何をしますか?ありがとうございました! – Sharethefun
新しいエフェクトを作成するときに、イメージのコピーを作成します。だからちょうどあなたのイメージ(元とコピー)の2つのコピーを持っています。スライダの各ステップでは、最後の状態(元のイメージ)からコピーを再作成または更新し、それにエフェクトを適用する(コピーする)必要があります。私はこれが唯一の方法だと思います。なぜなら、効果を正しく適用するためには、常に鮮明な画像を持つべきだからです。 – Andrew