ColorPalette



  • Ja ich weiss, ich bin manchmal daneben, die Funktionsweise von Get/SetColorTable habe ich nicht verstanden, trotz Recherche, ja ich weiss Martin man darf die MFC nicht kritisieren.



  • Bei C# .NET heisst es: bitmap.MakeTransparent(Color.FromArgb(255, 255, 255, 0));
    Und nicht mit Masken zeilenweise Code Schreiben ! Mein altes MFC-Programm pflege ich weiterhin, dann ist aber Schluss !


  • Mod

    Imager schrieb:

    Ja ich weiss, ich bin manchmal daneben, die Funktionsweise von Get/SetColorTable habe ich nicht verstanden, trotz Recherche, ja ich weiss Martin man darf die MFC nicht kritisieren.

    😕 Wer sagt das? Ich nicht... ich reagiere seit 10 Jahren nicht mehr auf solche Kritik!

    Zudem hat das mit der MFC Null zu tun.

    Das ist GDI und WinAPI pur...
    Code wie man es macht gibt es zur genüge. C# und .NET macht es auch nur so... das ist das aber eben in der .NET Runtime drin. Mit der MFC/Win32 APII musst Du halt Deinen eigenen Code finden.



  • Also ich finde, es ist immer gut wenn man Funktionalitäten kapselt, und wenn das in der Programmiersprache schon da ist, ist das von grossem Vorteil ! Aber seit mir nicht böse, wenn es geht, gebt mir doch eine Antwort auf meine Frage. Wir posten schon 8 mal ! Gewisse Sympathien gegenüber MFC habe ich, ja ! Ich möchte gern zweigleisig fahren ! Was ich nicht verstehe, ist das man ein ganzes Array von Farben braucht ( in diesem RGBQUAD Array ) wenn man doch nur eine transparente Farbe haben will.



  • Probiere mal Drawing transparent bitmaps using CImage

    PS: Bitmap.MakeTransparent in .Net benutzt intern die GDI+-Funktion GdipDrawImageRectRectI (s. Übersicht Graphics Functions (GDI+)) mit vorher gesetzten GdipSetImageAttributesColorKeys.


  • Mod

    Imager schrieb:

    Wir posten schon 8 mal !

    Was spricht gegen die existierenden Codevorschläge?
    Der Code-Link, den th69 gesendet hat, basiert letzten Endes auch wieder auf einem Link, den Du schon hast!

    Oder habe ich was verpasst?



  • Ihr müsst entschuldigen, ich muss starke Medikamente einnehmen, und kann deswegen manchmal inkorrekt, und unlogisch schreiben. Die Links basieren auf Masken und beinhalten jeweils über 30 Zeilen Code. Ich habe die Funktionsweise auch nicht richtig verstanden. Ich habe mich auf SetTransparentColor festgelegt. Woher bekomme ich die Farbpalette, und woher weiss ich was da für Farben drinstehen. SetTransparentColor benötigt einen Index auf eine Farbpalette, wie komme ich an den Index ? Was haben Get/SetColorTable für eine Funktion. Das sind meine einzigen Fragen !



  • Die Farbtabelle funktioniert aber nicht für alle möglichen Bilder, deswegen habe ich dich nach den BPP gefragt.



  • Für 32 Bit, Wie ? Bitte, Bitte ...



  • Hat sich erledigt ! Den ganzen Aufwand, hätte man sich mit ein Paar Sätzen sparen können ! Trotzdem Danke für Eure Mühe ! Tschüsss ...


Anmelden zum Antworten