AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Bitmap32 auf ZielBitmap32 malen
Thema durchsuchen
Ansicht
Themen-Optionen

Bitmap32 auf ZielBitmap32 malen

Ein Thema von stOrM · begonnen am 29. Jul 2008 · letzter Beitrag vom 1. Aug 2008
Antwort Antwort
Medium

Registriert seit: 23. Jan 2008
3.687 Beiträge
 
Delphi 2007 Enterprise
 
#1

Re: Bitmap32 auf ZielBitmap32 malen

  Alt 1. Aug 2008, 15:58
So wird es wohl noch die einfachste Methode sein, von Hand die Transparenz abzubilden. Aus der G32-Hilfe:
Zitat von G32-Hilfe zu TBitmap32.Draw():
The version with hSrc parameter, is introduced mainly for compatibility reasons. You may use it to transfer data from bitmaps with other formats, or any other windows objects that have device handle (DC). It is based on StretchDIBits GDI call, it does not support transparency and always uses nearest neighbor interpolation when stretching.
Ich habs grad getestet: Es hilft in der Tat nicht das OnPixelCombine-Event auszutauschen und im dmCustom Mode zu zeichnen. Wenn man also auf nicht einfarbige Hintergründe transparent auf einen GDI Canvas zeichen will, so müsste man sich zu Fuß erstmal den Bereich vom Zielcanvas in zweites Bitmap32 schaufeln, dort das andere drauf blenden, und das wieder zurück werfen... Ich mag GDI irgendwie immer weniger


Was ich mit den Pufferbitmaps meinte, hat TP ja schon prima umgesetzt, so dass ich denke ich dazu nichts mehr schreiben muss. Generell stellt die Lösung von TP für deinen Fall den besten und vor allem einfachsten Kompromiss dar.

Ich muss zudem noch eine früher gemachte Aussage korrigieren: Die Sache mit der Variable Alpha. Ich hab übersehen, dass dies ein Out-Parameter der PNG-Ladefunktion ist, wodurch es völlig okay ist ihn nicht zu initialisieren. Ich dachte es wäre ein Parameter mit dem man wählen kann ob man nun den Alphakanal mitnehmen will oder nicht. Wer lesen kann ist klar im Vorteil =)


PS: Nichts für ungut in Sachen PN. Da danach hier erstmal nichts mehr passierte, nahm ich an es ginge um dieses Thema
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  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 02:15 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