Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#7

AW: Flip verändert die Farbe

  Alt 30. Dez 2017, 16:54
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

Geändert von EWeiss (30. Dez 2017 um 17:03 Uhr)
  Mit Zitat antworten Zitat