![]() |
Bilder überblenden
Hallo Freunde des Codes,
ich habe leider bis dato noch keine großen Erfahrungen mit DelphiX, aber ich kann zu mindest schon mal ein Bild laden und darstellen :-) Nun würde ich gerne einen Übergang programmieren, mit den 2 Bildern die ich in DXImageList geladen habe. Also zuerst zeige ich ein Bild an und dann würde ich gerne das andere Bild einblenden. Und das möchte ich per überblenden machen. Eigentlich hatte ich mir das so vorgestellt, das ich das zweite Bild über das erste packe aber mit einer durchsichtigbarkeit von 100% und die dann einfach bis auf 0% runterzähle und dann sollte das 2te Bild komplett sichtbar sein. Hmm...nur weis ich leider nicht genau wie, könnt ihr mir da weiter helfen? |
Re: Bilder überblenden
hi
mit
Delphi-Quellcode:
kannst du dies einfach realisieren.
dximagelist1.items[i].drawalpha
|
Re: Bilder überblenden
Danke für die schnelle Antwort.
|
Re: Bilder überblenden
Ich meine das ungefähr so:
Delphi-Quellcode:
var
blending:boolean; blend:single; procedure Form1.DXTimer1Timer; begin dxdraw1.surface.fill(0); if blending then begin blend := blend + 0.01; dximagelist1.items[0].drawalpha(rect(0,0,dxdraw1.width,dxdraw1.height),0,trunc(blend)); dximagelist1.items[1].drawalpha(rect(0,0,dxdraw1.width,dxdraw1.height),0,trunc(255-blend)); if blend > 255 then blending := false; end; dxdraw1.flip; end; |
Re: Bilder überblenden
Das klappt prima, nur mußte ich noch ein DXDraw1.surface mit als ersten Parameter mit in die Klammer bei der Function nehmen.
Aber sage mal kann es sein das die Function ziemlich langsam ist? Ich habe die beiden Bilder, plus nen flip - 5 mal hinter einander gesetzt um einen schnellen übergang zu erzeugen. Nur leider dauert der Vorgang fast 3 Sekunden. Und das ganze ist ohne eine Timervariante. Eigentlich sollte das doch dann nur so durch rauschen. Oder hab ich was falsch gemacht dabei? |
Re: Bilder überblenden
DelphiX ist furchtbar lahm...
Ich würde es aber trotzdem mit dem DXTimer machen. Ich denke mit dem könnte es fast schneller gehen, wenn du Speed auf "Null" setzt. Optional kannst du dir auch UnDelphiX herunerladen, was eine Verbesserung von DelphiX ist, mit dem geht alles viel schneller... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:48 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