AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia GDI+: Transparenz auf TImage
Thema durchsuchen
Ansicht
Themen-Optionen

GDI+: Transparenz auf TImage

Ein Thema von Jazzman_Marburg · begonnen am 24. Jul 2011 · letzter Beitrag vom 25. Jul 2011
Antwort Antwort
EWeiss
(Gast)

n/a Beiträge
 
#1

AW: GDI+: Transparenz auf TImage

  Alt 24. Jul 2011, 15:36
Ich erstelle das indem ich den Hintergrund kopiere und auf diesen dann mein Bild zeichne.

PS:
Bzw.. den transparenten Hintergrund der PNG mit dem kopierten Hintergrund fülle.

gruss

Geändert von EWeiss (25. Jul 2011 um 01:06 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Jazzman_Marburg
Jazzman_Marburg

Registriert seit: 2. Aug 2004
359 Beiträge
 
#2

AW: GDI+: Transparenz auf TImage

  Alt 24. Jul 2011, 17:46
Ich erstelle das indem ich den Hintergrund kopiere und auf diesen dann mein Bild zeichne.

gruss
Das klingt interessant -- auch mit der GDI von Erik?
Wie machst Du das konkret -- vielleicht ein Beispiel?

Vielen Dank.

Gruß, Jazzman
--- Delphi XE Starter, Windows 8 ---
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#3

AW: GDI+: Transparenz auf TImage

  Alt 25. Jul 2011, 00:38
Ich erstelle das indem ich den Hintergrund kopiere und auf diesen dann mein Bild zeichne.

gruss
Das klingt interessant -- auch mit der GDI von Erik?
Wie machst Du das konkret -- vielleicht ein Beispiel?

Vielen Dank.

Gruß, Jazzman
Hat nichts mit GDI+ zu tun sondern sind einfache GDI functionen.
  • Erstelle ein kompatibles DC
  • Selektiere das Object mit dem erstellten Kompatiblen DC und deinem Hintergrund
  • Bitblt(erstelltes DC, ... DC... SRCCOPY)
  • Und lösche das erstellte DC mit DeleteDC.
2 Bilder im Anhang..
Das erste ohne Bitblt.
Das zweite mit Bitbl.

Das sind 4 Zeilen Quelltext
Mehr brauchst da nicht.

PS:
Ach so wenn du kein Hintergrund Bitmap hast dann mußt du erst eins
mit CreateDIBSection erstellen
Zurück geliefert bekommst du dann ein HBITMAP!

Das benötigst du dann für das Selektierte Objekt.
SelectObject(MeinKompatiblesDC, MeinHBITMAP);

gruss

Geändert von EWeiss (11. Jul 2019 um 15:40 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Memnarch
Memnarch

Registriert seit: 24. Sep 2010
737 Beiträge
 
#4

AW: GDI+: Transparenz auf TImage

  Alt 25. Jul 2011, 10:56
Das hier sollte auch liefern was du brauchst, und das sogar mit perpixel alpha

AlphaBlend

Da musste nicht soviel mit DC und erst recht kein Select object etc

EDIT: da braucht man nichtmal PNGs, 32bit Bitmaps mit Alphachannel arbeiten damit auch


MFG
Memnarch
Da man Trunc nicht auf einen Integer anwenden kann, muss dieser zuerst in eine Float kopiert werden
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:29 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