QPixmap oder QPainter zoomen
Verfasst: 1. Dezember 2004 14:43
Hallo!
Ich möchte mein Bild (als QPixmap oder QImage oder QPainter) zoomen. Mit den .scale(...)-Methoden geht das auch schon für eine Stufe. Ich möchte aber auch noch weiter/tiefer zoomen. Irgendwie klappt das aber nicht:-( Bisher geht nur einmal rein und einmal raus. Danach ist Schluß (bei QPixmap/QImage/QPainter). Kann mir einer sagen, wie ich dies hier verändern muss:
void MDIWindow::paintPixmap(double &zoomFactor){
// Zoomfunktionen
if ( !f.open( IO_ReadOnly ) )
return;
if(filename.contains(".bmp") || filename.contains(".BMP")) {
tmp->setMaximumHeight(0);
tmp->setMaximumWidth(0);
setFocusProxy(tmp);
setCentralWidget(tmp);
qp.load(filename);
qp.resize((int)(100*zoomFactor) +qp.width(),(int)(100*zoomFactor)+qp.height());
qi.load(filename);
painter.begin(this);
painter.eraseRect (0,0, w, h );
w = (int)(qi.width()*zoomFactor/100);
h = (int)(qi.height()*zoomFactor/100);
qi = qi.scale(w,h);
painter.drawImage (0, 0, qi);
painter.end();
tmp->repaint();
tmp->show();
}
}
Danke schonmal.
MfG JulesBashir
Ich möchte mein Bild (als QPixmap oder QImage oder QPainter) zoomen. Mit den .scale(...)-Methoden geht das auch schon für eine Stufe. Ich möchte aber auch noch weiter/tiefer zoomen. Irgendwie klappt das aber nicht:-( Bisher geht nur einmal rein und einmal raus. Danach ist Schluß (bei QPixmap/QImage/QPainter). Kann mir einer sagen, wie ich dies hier verändern muss:
void MDIWindow::paintPixmap(double &zoomFactor){
// Zoomfunktionen
if ( !f.open( IO_ReadOnly ) )
return;
if(filename.contains(".bmp") || filename.contains(".BMP")) {
tmp->setMaximumHeight(0);
tmp->setMaximumWidth(0);
setFocusProxy(tmp);
setCentralWidget(tmp);
qp.load(filename);
qp.resize((int)(100*zoomFactor) +qp.width(),(int)(100*zoomFactor)+qp.height());
qi.load(filename);
painter.begin(this);
painter.eraseRect (0,0, w, h );
w = (int)(qi.width()*zoomFactor/100);
h = (int)(qi.height()*zoomFactor/100);
qi = qi.scale(w,h);
painter.drawImage (0, 0, qi);
painter.end();
tmp->repaint();
tmp->show();
}
}
Danke schonmal.
MfG JulesBashir