AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi DDS(DXTC) und andere Formate mit DevIL
Thema durchsuchen
Ansicht
Themen-Optionen

DDS(DXTC) und andere Formate mit DevIL

Ein Thema von thehed · begonnen am 2. Okt 2003 · letzter Beitrag vom 17. Mär 2009
Antwort Antwort
thehed

Registriert seit: 22. Mär 2003
14 Beiträge
 
Delphi 6 Enterprise
 
#1

DDS(DXTC) und andere Formate mit DevIL

  Alt 2. Okt 2003, 22:56
Hallo
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:
Delphi-Quellcode:
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 name der rfa

//image laden
image1.Picture.LoadFromFile(bildname);
danach gibts eine unknow Picture file extension...?

Was mach ich falsch?
Es muss leider unbedingt dds sein.

[edit=Daniel B]Delphi-Tags eingefügt. Mfg, Daniel B[/edit]
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: DDS(DXTC) und andere Formate mit DevIL

  Alt 2. Okt 2003, 23:03
Moin thehed,

Du müsstest wohl mittels TPicture.RegisterFileFormat den Dateityp erst registrieren, bevor Du ihn über den gezeigten Weg benutzen kannst.
Über das wie das damit genau geht, kann ich Dir leider keine Auskunft geben.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
thehed

Registriert seit: 22. Mär 2003
14 Beiträge
 
Delphi 6 Enterprise
 
#3

Re: DDS(DXTC) und andere Formate mit DevIL

  Alt 3. Okt 2003, 11:29
Schade
weis sonst noch jemand was darüber?
Ich habe noch gelesen das man devIL zuerst initialisieren muss mit:
ilInit;
ilutRenderer(IL_OPENGL);

aber bringt immer noch die selbe fehlermeldung
  Mit Zitat antworten Zitat
thehed

Registriert seit: 22. Mär 2003
14 Beiträge
 
Delphi 6 Enterprise
 
#4

Re: DDS(DXTC) und andere Formate mit DevIL

  Alt 5. Okt 2003, 22:19
ok ich habs jetzt in einer uralten version von DevIL gibts ein Delphi Beispiel.
Dachte mir ich schreibs mal hier hin falls mal jemand das selbe sucht...
Zuerst die Schritte 1 bis 3 aus meinem ersten post

Delphi-Quellcode:
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);
Nun kann ich fast jedes Format laden,nur schade das der Entwickler von DevIL
aufgehört hat.

[edit=FuckRacism]Delphi-Syntax hinzugefügt. Mfg, FuckRacism[/edit]
  Mit Zitat antworten Zitat
omeryasarcan

Registriert seit: 29. Nov 2004
1 Beiträge
 
#5

Re: DDS(DXTC) und andere Formate mit DevIL

  Alt 17. Mär 2009, 22:43
Leider funktionier es nicht...
Das Bld welches geladen wird, wird nicht angezeigt.

Ich habe es ein wenig abgeaendet aber es tut sich immer noch nichts

Delphi-Quellcode:
procedure TForm1.TntButton1Click(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 );

  if OpenPictureDialog1.Execute then begin
     ilLoadImage(PChar(OpenDialog1.FileName));

     //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);

    // Bitmap.SaveToFile(ExtractFilePath(Application.ExeName)+'output.bmp');
    Bitmap.SaveToFile('output.bmp');

    Image1.Picture.Assign(Bitmap);

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

   ilDeleteImages(1, @ImgId);

  end; //if OpenPictureDialog1.Execute then begin
end;
.....wer weiss hier Rat.

Danke
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz