Seite 1 von 1

Wie würdet ihr ein Bild abspeichern?

Verfasst: 14. Juli 2006 00:13
von Mati
Hallo,

ich weiß einfach keinen Ratschlag um Bilder abzuspeichern. Ich bin am Überlegen wirklich ein array aus array zu nehmen weil ich einfach keinen besseren ratschlag weiß. Evtl. QVector ? Wie würdet ihr am besten ein Bild abspeichern. Als typ wollte ich die rgb -werte also QRgb nehmen also sowas:

QVector<QRgb> vec ....

macht das sinn bzw. was wäre besser?

Verfasst: 14. Juli 2006 07:35
von Christian81
Was spricht gegen QImage?

Verfasst: 14. Juli 2006 20:11
von Mati
Hallo der folgende Versuch gibt mir leider nicht die RGB Werte des bildes aus...wie kann ihc das bewerkstelligen ?
oder habe ich nen saftigen denkfehler drin ?

Code: Alles auswählen

QVector<QRgb> vec_img(image.height() * image.width());
    int idx = 0;
    
    for ( int y=0; y<image.height(); y++ ) 
    {        
        //uchar *p = image.scanLine(y);
        for ( int x=0; x<image.width(); x++ )
        {
            //*p++ = (x+y)%128;
            std::cout << (QRgb*) image.scanLine(y)[x] << std::endl;
            //vec_img[idx] = (QRgb) image.scanLine(y)[x];
            idx++;
        }
    }
Danke euch

Verfasst: 5. August 2006 00:35
von Volker
Erste Frage, warum willst Du das ganze überhaupt in einem Vector speichern. QImage enthält doch schon alle Werte und lässt dich auf jeden Pixel über die Funktion pixel ( int x, int y ) drauf zugreifen.

Die liefert dir dein QRgb wert.