Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » KDevelop / Qt / wxWidget » Bild aus Datei einlesen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ] [ 3 ]
000
06.10.2003, 18:09 Uhr
~NullPlan
Gast


Hallo!

Ich will Bilder aus einer Datei einlesen und auf ein PixmapLabel setzen.
Das Auslesen soll über eine ListBox geschehen. Dort wird zB auf das Item Hochzeit geklickt und darauf hin soll ein Hochzeitsbild in das PixmapLabel gesetzt werden.
Der DateiName von dem Item und des Bildes stimmen überein, so dass es anhand von dem Namen rausgesucht werden soll.

C++:
#include "dekoimpl.h"
#include <qpixmap.h>
#include <qfile.h>

void dekoBase::openDekoPicture()
{
QListBoxItem* currentItem = this->deko->selectedItem();
QString filePicture= "deko/";
filePicture.append( currentItem->text( ) );
filePicture.append( ".jpg" );

QFile myFile( filePicture );
QPixmap dekoPicture;

//
myFile.close();

this->picture->setPixmap( dekoPicture );
}



Auf das Klicken in der ListBox wird zwar reagiert, aber ich weiss nicht wie ich das Bild auslesen soll...

Gruß
NullPlan


Bearbeitung von loddab:
cpp-Tags gesetzt

Dieser Post wurde am 07.10.2003 um 12:38 Uhr von Loddab editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
06.10.2003, 23:35 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


Ich habe damit noch nicht gearbeitet. Aus nem nicht gepackten Bild kann man das auch relativ einfach mit RGB-werten selber basteln

Soweit ich weiss bietet Qt aber ein Klasse QImage. Damit solltest du eingetlich ein jpg laden können und kannst das dann bestimmt auch deiner QPixelmap übergeben
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
07.10.2003, 12:40 Uhr
typecast
aka loddab
(Operator)


Funktioniert die load( const QString & fileName, const char * format = 0, ColorMode mode = Auto )-Methode von QPixmap nicht? Ich habe das bis jetzt noch nicht gebraucht, aber in der Doku steht

Code:
If format is specified, the loader attempts to read the pixmap using the specified format. If format is not specified (default), the loader reads a few bytes from the header to guess the file's format.



Da jpg eigentlich ein bekanntes Format ist, dachte ich, dass er das Bild dann automatisch erkennt. Probier es einfach mal aus.
--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
07.10.2003, 15:57 Uhr
~NullPlan
Gast


Hm, also mit load() hab ich jetzt was, aber irgendwie werden die Bilder nicht geladen, obwohl sie im richtigen Ordner liegen, denn das hab ich mittlerweile an die 100 mal überprüft.
Ich weiss echt nicht was ich falsch gemacht hab

C++:
#include "dekoimpl.h"
#include <qpixmap.h>
#include <qfile.h>
#include <qlabel.h>


void dekoBase::openDekoPicture()
{
    QListBoxItem* currentItem = this->deko->selectedItem();
    QString filePicture= "deko/";
    //filePicture.append( currentItem->text(  ) );
    //filePicture.append( ".jpg" );
    
    QFile myFile( filePicture );
    QPixmap dekoPicture;
    //
    if (!dekoPicture.load(currentItem->text( ) + ".jpg"))
    {
        this->textLabel1->setText("Foto nicht vorhanden!");
    }
    else
    {
        this->picture->setPixmap(dekoPicture);    
    }
        myFile.close();
}



Gruß
NullPlan


Bearbeitung von loddab:
cpp-Tags gesetzt. Denk bitte selber dran. Hier kannst du nachlesen wie das geht

Dieser Post wurde am 07.10.2003 um 16:03 Uhr von Loddab editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
09.10.2003, 14:50 Uhr
typecast
aka loddab
(Operator)


Hast du eigetlich die jpeg-unterstützung installiert?
--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
20.11.2003, 17:50 Uhr
Kasperdelasopa



Wie kann ich einfach ein *.gif-Format Bild in mein Programm einfügen, ich bin neu und hab leider noch nicht viel ahnung und kann deshalb aus den obrgen quellcodes nichts rauslesen
wäre echt nett wenn ihr mir helfen könntet
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
21.11.2003, 10:41 Uhr
typecast
aka loddab
(Operator)


So ich musste mich vor kurzem auch damit beschäftigen. Hier mal eine Routine zum laden von PNG-Bildern:


C++:
    QString fileName = QFileDialog::getOpenFileName("./", "Images (*.png)", this, "Datei öffnen", "Datei auswählen");
    if (!fileName.isEmpty())    
    {
        QImageIO img(fileName, "PNG");  <-- Hier muss dann "GIF" stehen.
        if (img.read())
        {
            _pixmap = img.image();
        }
        else
        {
            QMessageBox::information(this, "Error", "Konnte Datei " + fileName + " leider nicht laden", "");
        }
    }



Dabei ist _pixmap von Typ QPixmap. Wenn du das "PNG" durch "GIF" ersetzt, dann sollte es das Bild korrekt laden.
--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
21.11.2003, 16:33 Uhr
Kasperdelasopa



Tut mir leid, ich habs habs nicht hinbekommen. Ich bin anfänger

Wie kann ich ein Bild das im selben Verzeichniss wie meine *.cpp, *.h und main.cpp ist auf meinem Programm an eine Bestimmte stelle platzieren, und in einer bestimmten Abmessung?
Wäre toll wenn ihr mir weiter helfen könntet.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
23.11.2003, 13:19 Uhr
Kasperdelasopa



Ich habs immer noch nicht hinbekommen kann mir keiner helfen? Ich bin ein neuling und habe keine ahnung, ich kann mit dem Quelltext nix anfangen, bzw, was ich wo einsetzten muss damit ich meine Datei aus dem selben Verzeichniss laden kann in der auch meine main.cpp ist und wie ich das bild an einer bestimmten position setzen kann?

Bitte helft mir
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
24.11.2003, 10:20 Uhr
typecast
aka loddab
(Operator)


Ok wo hängst du denn?
--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ] [ 3 ]     [ KDevelop / Qt / wxWidget ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: