Grafik Layer

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut

Grafik Layer

Beitragvon haderlump » 10. Mai 2019, 18:21 Grafik Layer

Hallo zusammen
Thema Modellbahnsteuerung.
Ich habe einen Image, das einen Ausschnitt einer größsseren Grafik darstellt, mit Scrollbalen usw.
Funktioniert einwandfrei. Dieses Bild zeigt das Gleisbild der Anlage. nunmöchte ich darüber noch einen Grafiklayer legen, in den ich Kontakte einzeichnen kann.
Da diese Kontakte im Regelbetrieb ja eigentlich nicht dargestellt werden müssen (die Kontaktinformationen kommen ja hardwaremäßig von der Anlage) möchte ich die Kontaktlayerebene abschalten.
Für die Planung wäre der Layer aber sehr wertvoll.
nun meine Fragen:
1. Kann man ein Bild transparent machen, also mit unsichtbarem Hintergrund, und wenn ja, wie?
2. Kann man 2 Bilder übereinander legen, so dass nur die im darübergelegtem Bild gezeichneten Stellen sichtbar sind, ansonsten der inhalt von Bild 1.

Gruß Fritz
haderlump
 
Beiträge: 167
Registriert: 18. Jan 2013, 09:29
OS, Lazarus, FPC: Windows 10, Windows XP, Lazarus 1.6 | 
CPU-Target: Celeron
Nach oben

Beitragvon kupferstecher » 10. Mai 2019, 21:19 Re: Grafik Layer

Auf TGraphicControl basierende Komponenten können Transparenz. Wenn du ein fertiges Bild laden möchtest, bietet sich TImage an und dann ein png zuweisen, das bereits eine Transparenz gespeichert hat (z.B. mit IrfanView als png abspeichern).

Wenn du selbst auf ein TGraphicControl zeichenst, kannst du eine Farbe als transparent bestimmen. Nicht vergessen, die Transparenz zu aktivieren.

Wenn deine Komponente von TWinControl abgeleitet sein soll, gibt es keine solche Transparenz, du kannst aber mittels SetRegion die zu zeichnenden Pixel definieren und damit das gleiche erreichen.
kupferstecher
 
Beiträge: 242
Registriert: 17. Nov 2016, 11:52

• Themenende •

Zurück zu Freepascal



Wer ist online?

Mitglieder in diesem Forum: Google [Bot] und 4 Gäste

porpoises-institution
accuracy-worried