Seite 1 von 1
QImage + QRect kombinieren
Verfasst: 27. März 2007 08:37
von PeterPan200
Hallo zusammen!
Problemstellung: Als erstes lade ich ein Image hoch(Screenshot / *bmp.).
Code: Alles auswählen
QString newFile( QFileDialog::getOpenFileName( dir, "BMP (*.bmp)", this ) );
if ( !newFile.isEmpty() )
{
loadImage( newFile);
MultiLineEdit1->setText(newFile);
LoadFLabel->setText(newFile);
m_LastDir = dir = newFile;
Danach lese ich es aus und möchte ganz gerne einen bestimmten Bereich haben! Ich habe gelesen, dass die Klasse QImage die Funktion QRect benutzt. Alles schön und gut, aber wie greife ich auf diesen Bereich zu bzw. wie kann ich es mir ausgeben lassen??
Code: Alles auswählen
void PresentDialog::loadImage( QString fileName)
{
dateiName = fileName;
if( image.load(dateiName))
{
QRect rect(125,369,image.width()-67, image.height()-51);
.
.
.
}
}
Für Hilfe wäre ich sehr dankbar!
MfG
Peter
Verfasst: 27. März 2007 09:23
von upsala
Du hast die Frage in ähnlicher bereits gestellt und dort die passenden Antworten erhalten.
Verfasst: 27. März 2007 09:36
von PeterPan200
Hallo upsala!
Wie soll das Ganze denn mit ScanLine funktionieren? Hast du vielleicht en kleines Bsp. dazu??
Danke!!
MfG
Verfasst: 27. März 2007 09:53
von patrik08
PeterPan200 hat geschrieben:Hallo upsala!
Wie soll das Ganze denn mit ScanLine funktionieren? Hast du vielleicht en kleines Bsp. dazu??
Danke!!
MfG
wenn es nur um den bereich zu auswahlen geht ... dann lese
http://qtforum.de/forum/viewtopic.php?t=3885
Verfasst: 27. März 2007 11:22
von upsala
Was soll das bringen, wenn ich dir deine Frage beantworte? Du hast ja noch nichteinmal deinen letzten Thread komplett durchgelesen!
Verfasst: 27. März 2007 21:21
von PeterPan200
Ich habe mir den Beitrag komplett durchgelesen! Habe die scanLine Funktion benutzt und ich bekomme damit die Adresse des Anfangs der Zeile.
Was ich nicht verstehe ist, wie ich mit dieser Funktion einen bestimmten Bereich eines Images auslesen kann??
Sorry, aber ich programmiere erst seit einer Woche mit Qt

))
Danke für das Verständniss...
Gruß
Verfasst: 27. März 2007 21:34
von upsala
Und der Beitrag von Christian81 wird nur bei mir angezeigt? Oder gefällt dir QImage::copy(...) nicht?
Verfasst: 27. März 2007 21:42
von PeterPan200
Danke erstmal, ich werde es mir morgen mal anschauen!
Gruß

Verfasst: 30. März 2007 09:32
von PeterPan200
Hallo zusammen!!
Das Problem mit QRect, QImage::copy wurde gelöst! Jetzt habe ich ein anderes Problem: Ich möchte ganz gerne wissen, wieviele Zeilen mein Image hat und wo die letzte Zeile beginnt??
Mit der Funktion "ScanLine" kriegt man ja die Anfangsadresse der zeile raus!Aber wie bekomme ich die Gesamtanzahl der Zeilen raus??
Vielen Dank!!
MfG
Peter
Verfasst: 30. März 2007 10:30
von patrik08
PeterPan200 hat geschrieben:Hallo zusammen!!
Das Problem mit QRect, QImage::copy wurde gelöst! Jetzt habe ich ein anderes Problem: Ich möchte ganz gerne wissen, wieviele Zeilen mein Image hat und wo die letzte Zeile beginnt??
Mit der Funktion "ScanLine" kriegt man ja die Anfangsadresse der zeile raus!Aber wie bekomme ich die Gesamtanzahl der Zeilen raus??
Vielen Dank!!
MfG
Peter
pixel breite x pixel hoehe... dass sind die zeilen....
http://de.wikipedia.org/wiki/Pixel
Code: Alles auswählen
extern inline QImage GreyScale( QImage income )
{
QImage base = income.convertToFormat(QImage::Format_RGB32);
for (int y = 0; y < base.height(); ++y) {
for (int x = 0; x < base.width(); ++x) {
int pixel = base.pixel(x, y);
int gray = qGray(pixel);
int alpha = qAlpha(pixel);
base.setPixel(x, y, qRgba(gray, gray, gray, alpha));
}
}
return base;
}
Verfasst: 30. März 2007 12:13
von PeterPan200
Hallo Patrik08,
vielen Dank für deine Antwort! Das heiß jetzt also, dass x*y die Anzahl der Zeilen in meinem Image sind??
Wenn das so ist, kann man doch auch mit "image.height()*image.width()" arbeiten, oder??
Vielen Dank
Peter
Verfasst: 30. März 2007 15:42
von patrik08
PeterPan200 hat geschrieben:Hallo Patrik08,
vielen Dank für deine Antwort! Das heiß jetzt also, dass x*y die Anzahl der Zeilen in meinem Image sind??
Wenn das so ist, kann man doch auch mit "image.height()*image.width()" arbeiten, oder??
Vielen Dank
Peter
Richtig .... das habe ich bereits viele zeile vorher geschrieben....
lade dir die beispiele und code von
http://qtforum.de/forum/viewtopic.php?t=3885 dann weist du viel mehr ueber bilder... teorie e praxis....