![]() |
Polygon x% mit transparenter Farbe füllen
Hallo Zusammen,
in diesem Forum gibt es mehrere Threds über "Transparentz" Jedoch habe ich keinen Eintrag gefunden wie ich ein Polygon oder ähnliches variabel Transparent füllen kann. Wie kann ich bitte das folgende Polygon z.B.: 20% mit der Farbe füllen so das der Hintergrund durchscheint? Canvas.Brush.Color := clRed; Canvas.Polygon([Point(10, 10), Point(30, 10), Point(130, 30), Point(240, 120)]); Gruß Gitta |
Re: Polygon x% mit transparenter Farbe füllen
Du kannst es so machen, wie mir mit transparentem Text geholfen wurde ;)
*anmerk* Ein paar Themen weiter unten im Multimedia-Board. Theorie: Du erstellst ein neues Bild, dass du mit einer Hintergrundfarbe ungleich der Farbes des Polygons füllst. In der Prozedur wird nun jeder Pixel abgelaufen. ist der aktuelle Pixel gleich die angegebene HG-Farbe, so wird die Farbe des Pixels auf die Farbe des entspr. Pixels des Ziel-bildes gesetzt. Ist es ungleich der HG-Farbe, d.h. es handelt sich um einen Punkt IM polygon, so wird die farbe mit der farbe des entspr. pixels des ziel-bildes mit der alpha-blending-formel unter einbezug der deckkraft-angabe verrechnet und gesetzt. So hast du am Ende per Pixel-Manipulation das neue Bild wo das Polygon transparent auf dem Zielbild ist :) |
Re: Polygon x% mit transparenter Farbe füllen
Hallo Airblader,
erstmal Danke für die Antwort. Das klinkt ja mächtig kompliziert und sicherlich sehr Zeitraubend. Ich hoffe das es eine andere Möglichkeit gibt. Ich habe ein stück Code gefunden um ein ganzes Form über den Alpha-Kanal Transparent zu machen. So etwas suche ich. Wenn ich etwas finden sollte werde ich es auch hier posten. Gruß Gitta. |
Re: Polygon x% mit transparenter Farbe füllen
Eine ganze Form transparent zu machen ist ja nicht schwer ;)
Ich dachte du willst das alles innerhalb eines TImage's machen, d.h. wie in einem Grafikprogramm ? :gruebel: |
Re: Polygon x% mit transparenter Farbe füllen
Hallo Airblader,
ich habe ein ActiveX Control welches mir eine Landkarte anzeigt. Ich greife mir das Canvas-Handle und zeichne ein Polygon um einen Ort. Dieses Polygon hätte ich gerne 80% Transparent so dass das Polygon noch sichbar ist aber zugleich auch die darunter liegende Ortskarte. Gibt es dafür eine einfachere Möglichkeit? Gruß Gitta |
Re: Polygon x% mit transparenter Farbe füllen
Hm..ich kenn mich mit ActiveX nun nicht aus, aber da es auch mit Canvas behandelt wird, würde ich sagen, könntest du "meine" Methode nehmen.
So langsam ist sie auch nicht ;) Und mit der Code-Vorlage aus meinem Thread dürfte es nicht zu schwer sein die Funktion umzubauen air |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:20 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 by Thomas Breitkreuz