Übungsblatt 1

Moderator: Graphische Datenverarbeitung 1

ronny.klowsky
Windoof-User
Windoof-User
Beiträge: 39
Registriert: 1. Okt 2008 09:28

Übungsblatt 1

Beitrag von ronny.klowsky » 21. Okt 2008 11:09

Das 1. Übungsblatt und alle notwendigen Unterlagen findet ihr jetzt auf der Vorlesungs-Homepage http://www.gris.informatik.tu-darmstadt ... sele/GDV1/.

Bei Fragen zum Einlesen/Ausgeben der Daten oder Handling der Programmierumgebung postet bitte hier ins Forum. Wir werden versuchen, alles so schnell wie möglich zu beantworten.

Viele Grüße,
Ronny

j0chen
Erstie
Erstie
Beiträge: 22
Registriert: 24. Apr 2007 19:23
Wohnort: Riedstadt
Kontaktdaten:

Re: Übungsblatt 1

Beitrag von j0chen » 21. Okt 2008 17:10

Hallo,

ich habe mir die sache mal angeschaut und versucht ein Bild mit pixbuf zu laden.

Code: Alles auswählen

Glib::RefPtr<Gdk::Pixbuf> picture;
std::string path = picturePath+filenames[0];
picture = Gdk::Pixbuf::create_from_file(path.c_str());
//mit filenames[0] ohne den picturePath davor (wie in den kommentaren) wurde die Datei nicht gefunden
Jedoch erhalte ich folgenden Fehler. Konnte (bisher) mit googlen nichts erreichen.

Code: Alles auswählen

(GDVPraktikum1:2086): glibmm-CRITICAL **: 
unhandled exception (type Glib::Error) in signal handler:
domain: gdk-pixbuf-error-quark
code  : 3
what  : Das Format der Bilddatei ?/Users/.../Fire Extinguisher/(1).jpg? konnte nicht erkannt werden
Hat das jemand auch? Oder gibt's ne Lösung?

gruß Jochen

Benutzeravatar
Maradatscha
Computerversteher
Computerversteher
Beiträge: 353
Registriert: 2. Okt 2006 18:53

Re: Übungsblatt 1

Beitrag von Maradatscha » 21. Okt 2008 18:04

Komplettupdate:

Ich habe Ubuntu auf einer VirtualBox installiert und damit geht es jetzt. Ich denke ich werde einfach darin arbeiten.

mein tipp wäre dass dir vielleicht die jpg tools in deiner Glib fehlen
vor dem kompilieren der Glib musst du dazu die jpgtools installiert haben. schau mal ob dir das was hilft

edit:

verdammt jetzt bekomme ich den gleichen Fehler! Aber nur wenn ich das Fileöffnen in der scanner.cc mache. Wenn ich sie direkt in Application.cc öffne bekomme ich den Fehler nicht...

mal schauen ob ich das rausbekomme.

edit2:

hat sonst noch wer diesen Fehler? Wenn nicht dann hat das was mit unseren macs zu tun... kann sich mal jemand äußern bitte?

edit3:
ich denke das liegt an unserer installation von gdk-pixbuf.
bin grad dran denke das könnte daran liegen, dass gdk (gtk+ oder gtk+2) und die jpg pakete in der falschen reihenfolge kompiliert wurden

edit4: es liegt wohl wirklich an der OSX installation die wir hier haben. Ich schau mal weiter

j0chen
Erstie
Erstie
Beiträge: 22
Registriert: 24. Apr 2007 19:23
Wohnort: Riedstadt
Kontaktdaten:

Re: Übungsblatt 1

Beitrag von j0chen » 23. Okt 2008 12:23

moin,
ich hab's auch aufgegeben.
nach studenlangem package neu installieren und anders installieren und lib's kopieren und ersetzen und hier und da ;)
... werd ich wohl die sache auf meiner xp VM installieren..

RedNifre
DON'T PANIC
Beiträge: 42
Registriert: 22. Nov 2004 19:29
Wohnort: Hier
Kontaktdaten:

Fehler in Scanner.cc ?

Beitrag von RedNifre » 24. Okt 2008 14:38

In der Scanner.cc steht als beispiel, dass man um den ersten Pixel der zweiten Zeile zu ermitteln einfach nur mit der Bildbreite multiplizieren müsste. Fehlen hier nicht noch die Farbkanäle? Sprich, Pixel (1,0) liegt bei Breite*3 im array?
+++++++++[->+++++++++>+>+>+<<<<]>+.>[-<->]<----.-.>>[-<<+>>]<<+.-----.---.>>>[-<<<+>>>]<<<+++.-------------.

Benutzeravatar
Ronny
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 133
Registriert: 18. Nov 2005 14:33
Wohnort: IGD

Re: Fehler in Scanner.cc ?

Beitrag von Ronny » 24. Okt 2008 15:39

RedNifre hat geschrieben:In der Scanner.cc steht als beispiel, dass man um den ersten Pixel der zweiten Zeile zu ermitteln einfach nur mit der Bildbreite multiplizieren müsste. Fehlen hier nicht noch die Farbkanäle? Sprich, Pixel (1,0) liegt bei Breite*3 im array?
Du hast natürlich Recht.
Da ist mit tatsächlich ein Fehler unterlaufen :oops:

banshee
Nerd
Nerd
Beiträge: 684
Registriert: 22. Okt 2006 18:46

Re: Übungsblatt 1

Beitrag von banshee » 26. Okt 2008 15:06

Dürfen wir eigentlich auch die scanner.h bearbeiten und zb. Hilfsmethoden einbauen oder muss das alles in die .cc?

Benutzeravatar
Ronny
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 133
Registriert: 18. Nov 2005 14:33
Wohnort: IGD

Re: Übungsblatt 1

Beitrag von Ronny » 26. Okt 2008 15:16

banshee hat geschrieben:Dürfen wir eigentlich auch die scanner.h bearbeiten und zb. Hilfsmethoden einbauen oder muss das alles in die .cc?
Natürlich dürft ihr das. Wer sollte das euch verbieten? Ihr könnt im Grunde denn kompletten Code umkrempeln. Wenn ihr dabei aber auf völlig andere Bibliotheken umsteigt, können wir nurnoch bedingt Support bieten.

Benutzeravatar
Martin K
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 110
Registriert: 13. Okt 2006 17:56

Re: Übungsblatt 1

Beitrag von Martin K » 26. Okt 2008 22:25

Beim Versuch ein Bild zu laden, stürzt das Programm ab:
(main.exe:2268): glibmm-CRITICAL **:
unhandled exception (type Glib::Error) in signal handler:
domain: g-file-error-quark
code : 4
what : Datei »(1).jpg« konnte nicht geöffnet werden: No such file or directory
Dies geschieht in folgender Zeile:

Code: Alles auswählen

picture = Gdk::Pixbuf::create_from_file(filenames[i].c_str()); //loading a picture
Gäbe es die letzte Minute nicht,
so würde niemals etwas fertig.

- Mark Twain

j0chen
Erstie
Erstie
Beiträge: 22
Registriert: 24. Apr 2007 19:23
Wohnort: Riedstadt
Kontaktdaten:

Re: Übungsblatt 1

Beitrag von j0chen » 26. Okt 2008 22:39

Hi,

ist ganz klar..
in filenames[] steht jeweils nur der dateiname.. nicht aber der absolute pfad zur datei.
dieser steht in picture_path oder so ähnlich. jedenfalls auch in der Scanner Klasse vorhanden.
einfach die strings aneinanderhängen.. also etwa:

Code: Alles auswählen

picture = Gdk::Pixbuf::create_from_file(picture_path+filenames[i].c_str());
gruß

Benutzeravatar
Martin K
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 110
Registriert: 13. Okt 2006 17:56

Re: Übungsblatt 1

Beitrag von Martin K » 26. Okt 2008 23:14

j0chen hat geschrieben:Hi,

ist ganz klar..
in filenames[] steht jeweils nur der dateiname.. nicht aber der absolute pfad zur datei.
dieser steht in picture_path oder so ähnlich. jedenfalls auch in der Scanner Klasse vorhanden.
einfach die strings aneinanderhängen.. also etwa:

Code: Alles auswählen

picture = Gdk::Pixbuf::create_from_file(picture_path+filenames[i].c_str());
gruß
Danke, so funktionierts.
Aber das hätte man ja auch so in den auskommentierten Code schreiben können, oder? :roll:
Gäbe es die letzte Minute nicht,
so würde niemals etwas fertig.

- Mark Twain

Benutzeravatar
marlic
Computerversteher
Computerversteher
Beiträge: 365
Registriert: 5. Okt 2006 11:09
Wohnort: Dietesheim

Re: Übungsblatt 1

Beitrag von marlic » 27. Okt 2008 09:57

Das wäre ja auch zu einfach gewesen, oder Martin?
"Copy & Passed"

Wahlspruch der Plagiatoren

ronny.klowsky
Windoof-User
Windoof-User
Beiträge: 39
Registriert: 1. Okt 2008 09:28

Re: Übungsblatt 1

Beitrag von ronny.klowsky » 28. Okt 2008 11:12

Um es noch einmal klar zu stellen:

Die Theorieaufgaben sind nachwievor schriftlich zu Beginn der Vorlesung am 03.11. abzugeben (1 Exemplar pro Gruppe, zusammengeheftet, Namen auf JEDES Blatt).

Die Deadline fuer die Programmieraufgaben ist eine Woche spaeter als urspruenglich geplant, d.h. Montag, 10.11. um 23:59 Uhr (MEZ). Zur Abnahme werden nur Versionen in Betracht gezogen, die bis zu dahin auf dem svn-Server liegen.

Viel Erfolg!

Benutzeravatar
Red*Star
Kernelcompilierer
Kernelcompilierer
Beiträge: 510
Registriert: 28. Nov 2006 19:40

Re: Übungsblatt 1

Beitrag von Red*Star » 28. Okt 2008 17:45

Stichwort Compilezeit:

Braucht der bei euch auch so lange? Bei mir ackert er 5 Minuten (ok, um mir am Ende 6000 Errors und 500 Warnings über fehlende Include-Dateien auszuspucken) - finde ich etwas seltsam, da er auf den Poolrechnern nur 5 Sekunden oder etwas in der Größenordnung braucht.

Ich hab MinGW, Eclipse 3.2.irgendwas mit dazu passendem CDT installiert.


Stichwort Includes:

Wie gesagt, ich bekomme nach wie vor Warnungen über fehlende includes, obwohl ich in den Projektoptionen jetzt schon so gut wie alles includiert habe, was man nur includieren kann.
Interessanterweise kommen in den Warnungen sogar Dateien vor, die *definitiv* in Ordnern liegen, dich ich der Projektoptionen/C++-Compiler/Directories-Liste hinzugefügt habe.
(Btw: *wa-rum* checkt er die Directories nicht rekursiv durch? Echt nervig so, jedes Ördnerchen *einzeln* hinzuzufügen. *grummel*. Oder liegt das an der alten CDT-Version?)

Any ideas? Hat(te) wer das gleiche Problem?


Wir würden's ja wieder auf den Poolrechnern machen, aber da (bereits von jemand anderem genannter Bug hier im Forum) stürzt leider X ab, deshalb dachte ich, ich programmiere mal zu Hause weiter... tja, programmieren kann ich's ja auch, nur leider halt nicht erfolgreich compilieren -.-
Was Sonnenschein für das schwarze Erdreich ist,
ist wahre Aufklärung für die Verwandten des Erdreichs.

- N.F.S. Grundtvig

j0chen
Erstie
Erstie
Beiträge: 22
Registriert: 24. Apr 2007 19:23
Wohnort: Riedstadt
Kontaktdaten:

Re: Übungsblatt 1

Beitrag von j0chen » 28. Okt 2008 17:52

Hallo,

deine compile / link errors werden von fehlenden includes / libraries kommen.
du solltest dir die anleitung im andern thread (beispielprogramm unter windows) anschauen.
und vorerst NICHT mit eclipse kompilieren sondern über die console mit mingw32-make all.
Dazu muss das mitgelieferte Makefile im Ordner sein. pkg-config bestimmt dann (wenn du alles korrekt installiert hast) automatisch die nötigen compiler/linker flags.
das hat bei mir problemlos auf anhieb funktioniert.

gruß

Antworten

Zurück zu „Graphische Datenverarbeitung 1“