Wenn es nicht Transparent ist dann hätte der Fisch einen schwarzen rechteckigen Hintergrund.
Der muss transparent sein .. was sich seltsamer weise verändert sind die flossen.
Zitat:
Kann es sein, dass du das Bild irgendwie mehrfach übereinanderlegst.
Nicht das ich wüsste.
Habe es mal kommentiert.
Delphi-Quellcode:
if Flip
then
begin
Flip := False;
if ObjItem.Flipmode = GD_Reverse
then
begin
Item := gItemFromID(ObjItem.ID);
SelectObject(hDCsrce, ObjItem.Bitmap);
// vorhandenes HBitmap vom DC selectieren.
Img := gBitmapToImage(hDCsrce);
// Transparentes Image erstellen über GdipCreateBitmapFromScan0.
GdipImageRotateFlip(Img, 4);
// Image drehen
DeleteObject(ObjItem.Bitmap);
// alte HBitmap löschen
GdipCheck(GdipCreateHBITMAPFromBitmap(Pointer(Img), hbmpReturn, $000000));
// neues HBitmap erstellen.
g_Obj[Item].Bitmap := hbmpReturn;
// Neue HBitmap zuweisen
if Img <> 0
then
GdipCheck(GdipDisposeImage(Img));
// Image löschen
end;
end;
Alpha Kanal habe ich hier keinen $000000.
Aber selbst mit $FF000000 \ $00000000 ändert sich da nix.
Das neue Bitmap vom hDCsrce kann ich nicht löschen bevor ich es gedreht habe!
Aber es wird nicht überlagert da ich das alte lösche.
gruss