![]() |
AW: Canvas mit Alphakanal in Delphi 5
Zitat:
Auszug aus der ursprünglichen Lizenz: Zitat:
|
AW: Canvas mit Alphakanal in Delphi 5
Ich möchte das mal zusammenfassen:
TPNGImage ist als Komponente verfügbar, die in einer alten Version auch unter Delphi 5 lauffähig ist. Sie ist aber auch in neueren Versionen noch, speziell im Bereich Transparenz, verbuggt. -> würd ich somit nicht unbedingt bevorzugen LMDTools könnte da auch was bieten. Wir setzen auch LMDTools ein, sicherlich eine alte Version, die würde sich bestimmt nicht mit der neuen vertragen. Wenn es die angesprochene Lösung also in unserer alten Version nicht gibt, fällt das auch weg. Ich werde den beiden Ansätzen morgen mal nachgehen. Um das aber noch mal ausdrücklich zur Sprache zu bringen: Ich brauche kein PNG, sondern lediglich einen Grafikpuffer (bevorzugt ein Canvas) mit Alphakanal, den ich zum Schluss mit Transparenz-Kanal auf mein Ziel-Canvas kopieren kann. Schönen Feierabend! |
AW: Canvas mit Alphakanal in Delphi 5
Zitat:
|
AW: Canvas mit Alphakanal in Delphi 5
Zitat:
|
AW: Canvas mit Alphakanal in Delphi 5
Was hat das ganze eigentlich mit dem Alphakanal von TCanvas zu tun? Auch durch TPNGImage wird sich da nichts ändern. TCanvas ist zu vergleichen mit einem Blatt Papier. Da gibt es keine halbtransparenten Farben. Was drauf gemalt ist, ist draufgemalt und kann nur übermalt werden.
Was genau ist denn dein Ziel? Text den du auf einen Hintergrund mit FarbeX geschreiben hast dort runter zu nehmen und dann auf einen bunten Hintergrund schreiben wobei der Farbeeinfluss von FarbeX gleich 0 sein soll? Der richtige weg wäre hier wohl einfach den Hintergrund wo die Schrift später drauf soll auf dein Canvas zu kopieren bevor du darauf schreibst. Und anschließend kannst du das ganze komplett (also mit Schrift) zurück kopieren. |
AW: Canvas mit Alphakanal in Delphi 5
Zitat:
Ich werde mir als erste Amtshandlung mal Graphics32 ansehen. [edit]Wenn ich davon ausgehe, dass TBitmap32.RenderText die Position und Dimensionen der Schrift nicht anders berechnet als die Win32-API-Funktion DrawText, dann ist das durchaus nutzbar für meine Zwecke. Die Frage ist allerdings, wie bekomme ich das Ganze zum Schluss zurück auf mein Canvas? Meine momentan einzige Idee wäre: -zweites Bitmap32 instanzieren -Hintergrund vom Canvas in das zweite Bitmap32 laden -erstes Bitmap32 transparent drüberzeichnen -Canvas vom zweiten Bitmap32 zurück auf Canvas kopieren Sehe ich das richtig?[/edit] |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:17 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz