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]