Einzelnen Beitrag anzeigen

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