AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Bilder überblenden

Ein Thema von ShadowOfSky · begonnen am 24. Feb 2006 · letzter Beitrag vom 27. Feb 2006
Antwort Antwort
ShadowOfSky

Registriert seit: 24. Feb 2006
3 Beiträge
 
#1

Bilder überblenden

  Alt 24. Feb 2006, 21:05
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?
Schönen Gruß, Sky.
  Mit Zitat antworten Zitat
Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#2

Re: Bilder überblenden

  Alt 24. Feb 2006, 21:09
hi

mit
dximagelist1.items[i].drawalpha kannst du dies einfach realisieren.
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat
ShadowOfSky

Registriert seit: 24. Feb 2006
3 Beiträge
 
#3

Re: Bilder überblenden

  Alt 24. Feb 2006, 21:24
Danke für die schnelle Antwort.
Schönen Gruß, Sky.
  Mit Zitat antworten Zitat
Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#4

Re: Bilder überblenden

  Alt 24. Feb 2006, 21:35
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;
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat
ShadowOfSky

Registriert seit: 24. Feb 2006
3 Beiträge
 
#5

Re: Bilder überblenden

  Alt 24. Feb 2006, 22:11
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?
Schönen Gruß, Sky.
  Mit Zitat antworten Zitat
Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#6

Re: Bilder überblenden

  Alt 27. Feb 2006, 11:48
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...
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  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 03:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz