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

Aktuelle Zeit: Do Jul 10, 2025 13:20

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: DevIL wie?
BeitragVerfasst: Fr Okt 03, 2003 12:38 
Offline
DGL Member

Registriert: Fr Okt 03, 2003 10:34
Beiträge: 3
Wohnort: Schweiz (Ag.go)
Hallo (ich bin neu :) )
Ich brauche hilfe mit DevIL.Hier mal die Beschreibung was
ich getan habe:
Ich möchte gerne Bilder mit der Endung .dds laden also hab ich mir DevIL
runtergeladen und installiert,vielleicht hab ich da was falsch gemacht.
1. die dll's in den ordner wo mein Code ist
2. die 3 .pas files in den lib ordner und
3. einen pfad über die Tool/enviroments/libs funktion geaddet.

dann unter uses die hier zugefügt: openIL, openilu, openilut;

Das Prog:
ilInit;
ilutRenderer(IL_OPENGL);
opendialog1.FileName:='Bild Auswaehlen'; // oeffnet den
opendialog1.Execute; // filedirectory dialog
bildname:=opendialog1.Filename; //hier der pfad zur RFA mit namen
nurrfaname:=ExtractFileName(OpenDialog1.FileName); //hier nur der
//image laden
image1.Picture.LoadFromFile(bildname);

danach gibts eine unknow Picture file extension...?
mit bmp gehts wenn ich jpeg in die uses aufnehme geht auch das
aber nicht mit dds (dxtc).


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Okt 03, 2003 13:35 
Offline
Fels i.d. Brandung
Benutzeravatar

Registriert: Sa Mai 04, 2002 19:48
Beiträge: 3830
Wohnort: Tespe (nahe Hamburg)
Hört sich ansicht alles auch nicht schlecht an. Aus praktischen Gründen würde ich DLLS nicht in den Ordner deines Programmes packen, sondern in den Windows-System-Ordner (z.B: System32). So steht es auch anderen Applikations zur Verfügung und es kann ja durchaus mal vorkommen, dass auch andere Programme diese DLLS brauchen. So hat man sie nicht mehrfach auf der Platte liegen.

Ich habe nun mal keinen Blick in die Liste der Unterstützen Dateien geworfen, aber steht das Format da überhaupt drinne? DDS ist IMAO ein DirectX-Format, dass bereits wieder auf die ToKill-Liste gesetzt wird. Vielleicht wäre es einfacher ein Programm zu suchen, was diese Dateien in ein sinnvolleres Format umwandelt und Du dann lieber dieses reinlädst?

_________________
"Light travels faster than sound. This is why some people appear bright, before you can hear them speak..."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Okt 03, 2003 15:26 
Offline
DGL Member

Registriert: Fr Okt 03, 2003 10:34
Beiträge: 3
Wohnort: Schweiz (Ag.go)
Ja steht drinn, habs auch schon mit jpg probiert geht auch nicht (Nur um
ein anderes Format zu testen ,ich weis schon wie man jpeg's benutzt).

Am Anfang wars auch so das ich die Dateien umgewandelt habe.Ich
habe Delphi nur benutzt für den File Dialog und Parameterübergabe an ein
Batch file inklusive starten des Batchfiles.
Das Batchfile hat zuerst ein RFA file entpackt,die darin enthaltenen
dds texturen nach tga gewandelt danach parameter für merge errechnet
das merge program gestartet und damit ne grosse Textur aus den
kleinen gemacht.Funktioniert auch wunderbar aber leider nur bei ca 50%
der Leute die es getestet haben.Bei einigen wollten die Dosbefehle nicht
richtig ,andere haben sich geweigert .NET zu installieren.Leider brauchen
das einige der von mir verwendeten programmen,deshalb will ich soviel
wie möglich mit Delphi realisieren.
Puh soviel Text nur um zu erklären wiso ich dds brauche :D


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Okt 05, 2003 21:28 
Offline
DGL Member

Registriert: Fr Okt 03, 2003 10:34
Beiträge: 3
Wohnort: Schweiz (Ag.go)
Habs gefunden wenn jemand das selbe prob hat hier:
Uralten Version von DevIL gibts ein Delphi Beispiel.


procedure TForm1.Button2Click(Sender: TObject);
var
ImgId: TILuint;
Bitmap: TBitmap;
MemDC: HDC;
_Bitmap: HBITMAP;
begin

OpenIL.ilInit;
ilutInit;
// how many images ??
ilGenImages(1, @imgID);
ilBindImage(imgid);
// Normal überschreibt devil beim saven nicht hiermit schon der
Befehl ist ilsave(test.bmp') oder welches format auch immer

ilEnable( il_File_Overwrite );

// Bild Laden
ilLoadImage('test.dds');
//logisch....
Bitmap := TBitmap.Create;
//grösse von geladenem bild holen
Bitmap.Width := ilGetInteger(IL_IMAGE_WIDTH);
Bitmap.Height := ilGetInteger(IL_IMAGE_HEIGHT);
//hdc
MemDC := CreateCompatibleDC(Canvas.Handle);
//convert eventuell direkt winloadimage benutzen
_Bitmap := ilutConvertToHBitmap(Bitmap.Canvas.Handle);
//Versteh ich nicht??
SelectObject(MemDC, _Bitmap);

//das ist klar
BitBlt(Bitmap.Canvas.Handle, 0, 0, Bitmap.Width, Bitmap.Height,
MemDC, 0, 0, SRCCOPY);

Image1.Picture.Assign(Bitmap);

DeleteDC(MemDC);
DeleteObject(_Bitmap);
Bitmap.Free;

ilDeleteImages(1, @ImgId);


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 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.006s | 14 Queries | GZIP : On ]