Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Di Jul 08, 2025 00:22

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 9 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Texturen laden
BeitragVerfasst: Mo Dez 11, 2006 14:38 
Offline
DGL Member
Benutzeravatar

Registriert: So Dez 10, 2006 18:26
Beiträge: 51
Also, ich habe da ein Problem *ach wirklich?* mit dem laden von Texturen.
Wenn ich den Pfad zu der Textur direkt angebe:

Code:
  1.  
  2. tex := IMG_Load(PChar(ExtractFileDir(paramStr(0))+'/wiki.jpg'));
  3.  


dann funktioniert alles einwandfrei.

Aber sobald ich den Pfad in einer Variable gespeichert habe und versuche den zu übergeben sehe ich nur das weiße Quadrat.

Code:
  1.  
  2. s:= './Bild.jpg'
  3. tex := IMG_Load(PChar(s));
  4.  


Ich hoffe das ihr mir helfen könnt und da ich mir dabei sicher bin bedanke ich mich schon einmal im Voraus: Danke!!!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Dez 11, 2006 14:58 
Offline
Ernährungsberater
Benutzeravatar

Registriert: Sa Jan 01, 2005 17:11
Beiträge: 2068
Programmiersprache: C++
Lass mal das './' weg, ansonsten Windows oder Linux?
Weil unter Linux musst du die erste Methode anwenden.

_________________
Steppity,steppity,step,step,step! :twisted:
❆ ❄ ❄ ❄ ❅ ❄ ❆ ❄ ❅ ❄ ❅ ❄ ❅ ❄ ❄
❄ ❄ ❄ ❅ ❄ ❄ ❄ ❅ ❄ ❄ ❆ ❄ ❄


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Dez 11, 2006 16:05 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Du kannst nie davon ausgehen, dass das Aktuelle Verzeichnis gleich dem ist, indem dein Programm läuft. Deshalb ist es immer geschickt den Programmpfad zu besorgen.

Ich glaub unter Linux ist noch nichtmal sichergestellt, dass param[0] tatsächlich der Pfad ist, in welchem das Programm läuft. Aber da ich kein Linuxer bin (leider - wirklich) phanatsier ich hier mal nicht dazu rum. ;)

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Dez 11, 2006 16:09 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Bei Linux ist das aktuelle Verzeichnis seltsamerweise nicht im Suchpfad, dafür aber irgendwelche anderen. Daher muß man immer ./ davorschreiben.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Sorry
BeitragVerfasst: Mo Dez 11, 2006 17:03 
Offline
DGL Member
Benutzeravatar

Registriert: So Dez 10, 2006 18:26
Beiträge: 51
Sorry, ich glaube ich habe mein Problem falsch beschrieben.

Also, wenn ich

Code:
  1. tex := IMG_Load('C:/Bild.jpg');


Schreibe, dann wird die Textur angezeigt.

Wenn ich aber

Code:
  1.  pfad:= 'C:/Bild.jpg' //pfad: string
  2. tex := IMG_Load(PChar(pfad));


shreibe dannn funktioniert es nicht. Brauche ich vielleicht etwas anderes als "PChar()" um "pfad" umzuwandeln?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Dez 12, 2006 18:39 
Offline
DGL Member
Benutzeravatar

Registriert: So Dez 10, 2006 18:26
Beiträge: 51
Ok, da bis jetzt noch niemand eine Antwort parat hatte habe ich es jetzt aderst gemacht, aber was soll ich sagen, es funktioniert immer noch nicht.
Ich habe jetzt probiert die Textur mit GlBitmap zu laden (so wie es im artigel angegeben ist http://wiki.delphigl.com/index.php/Glbitmap_loader)
Code:
  1. ftexture.loadformfile(pfad);


jetzt kommt aber immer die Fehlermeldung das das Bild nicht gefunden wurde, obwohl es da ist!!!!
Ich habe auch noch einmal den Pfad überprüft aber er stimmt (sogar der in der Fehlermeldung mit angegebene Pfad stimmt!)
kann mir vielleicht jemand sagen was ich faltsch mache oder warum es nicht funktioniert?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Dez 12, 2006 20:47 
Offline
DGL Member

Registriert: Di Jun 06, 2006 09:59
Beiträge: 474
pfad ist ein string und kein shortstring, oder? außerdem kannst du ma @S[1] probieren statt PChar(S)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Dez 12, 2006 21:48 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
String ist nicht unbedingt Longstring. Aber das ist alles sehr merkwürdig. Geht es denn mit einem Backslash anstelle des Slashs? Bzw was benutzt du denn für ein Delphi?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Dez 13, 2006 16:38 
Offline
DGL Member
Benutzeravatar

Registriert: So Dez 10, 2006 18:26
Beiträge: 51
Komisch, jetzt funktioniert plötzlich die erste Methode (mit SDL_Image)!!!

Aber ich weiß nicht wirklich warum. Ich lade den Pfad aus einer .obj und jetzt habe ich eine neue .obj erstell und plötzlich funktioniert es.
Daraus folgt jetzt aber die Frage wie ich .png Bilder laden kann mit SDL_Image(ich sehe bei mir nur ein ganz fein kariertes überwiegend graues Bild). Aber dazu werde ich sicher irgend was im Forum finden :D

Ich bedanke mich für die ganzen antworten!!!!!
(nur so als Anmerkung, der Pfad ist immer noch absolut gleich!!!)


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 9 Beiträge ] 
Foren-Übersicht » Programmierung » Einsteiger-Fragen


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 10 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.019s | 15 Queries | GZIP : On ]