Entwickler-Ecke
Multimedia / Grafik - "fade in" erreichen, was ist beste Möglichkeit?
Delphianer23 - So 02.03.03 02:33
Titel: "fade in" erreichen, was ist beste Möglichkeit?
Um ein "fade in" in Delphi zu erreichen,was ist die beste Möglichkeit?
Mir fällt nur ein mit scanline jeden Bildpunkt einzeln durchzugehen und die Farbwerte einzeln zu verändern. Geht es nicht schneller oder einfacher?
Andreas Pfau - So 02.03.03 12:07
Willst du zuwe Bitmaps faden oder ein Fenster?
Fenster: Mit den Eigenschaften AlphaBlend und AlphaBlendValue (Value über teimer erhöhen)
Bitmaps: Also, schneller als mit Scanlines wird es wohl kaum gehen. Außer du verabschiedest dich von GDI und wechslest zu OpenGL oder Direct3D. Dann geht das sogar in Millisekunden (-> Echtzeit).
Delphianer23 - So 02.03.03 16:43
danke :)
geht mit alphablend
allerdings mit einem leichtem Flimmern!
Wie kann man das verhindern?
Andreas Pfau - So 02.03.03 20:16
Gar net! Das liegt an Windows.
Es sei denn, jemand kennt eine Möglichkeit, tief ins System einzugreifen, um das zu umgehen.
Oder probier mal, die Message Wm_EraseBkGnd abzufangen. Gib einen Wert gleich oder ungleich 0 zurück (Message.Result). Bei einer der zwei Möglichkeite sollte es aufhören zu flimmern. Bin zu faul es zu probieren. Evtl klappt es eh nicht.
Delphianer23 - So 02.03.03 22:29
Das ist meine abslute Standartaussage, die eigentlich am anfang JEDES meines PRojekts steht. Hilft nur bei Images, nicht dabei. (Natürlich noch unter private deklarieren).
Man bräuchte dann noch eine Form die sich durchsichtig über den Deskop legt mit alpablend false, dann die andere drüber mit alpa blend true. Das müsste Funktionenieren. Halt nen komischer Umweg.
Quelltext
1: 2: 3: 4:
| procedure Tform1.WMEraseBkgnd(var m : TWMEraseBkgnd); begin m.Result := LRESULT(False); end; |
Danke du hast mich da auf was gebracht
Moderiert von
Tino: Code-Tags hinhzugefügt.
Aya - So 02.03.03 23:50
Hi,
kleine frage... :)
willst du nu 2 Bilder miteinander überblenden, oder Forms???
Au'revoir,
Aya
Delphianer23 - Mo 03.03.03 00:35
Verdammt ... so wie oben beschrieben flimmert es trotzdem noch ein bißchen.
@ eigentlich will ich nur ein Fade in eines Programmlogos beim Programmstart.
Die zwei Forms waren nur ne Notlösung(die nicht funzt). Mit alphablendvalue der Form flimmert es beim einblenden, außerdem ist der Rechner schnell überfordert.
Weiß du weiter??
Moderiert von
Tino: Absätze entfernt.
Aya - Mo 03.03.03 00:42
| Blutiges Elend hat folgendes geschrieben: |
| @ eigentlich will ich nur ein Fade in eines Programmlogos beim Programmstart. |
Also ein Bitmap welches langsam eingeblendet werden soll, ja?
Delphianer23 - Mo 03.03.03 13:52
genau :D
Du weißt es doch bestimmt, warum hast du es denn nicht
beantwortet :(
OregonGhost - Mo 03.03.03 14:18
Eine Bitmap kannst du auch mit AlphaBlend aus der Win32-API alphablenden, das funktioniert dann auch schon ab Win98.
Aya - Mo 03.03.03 16:20
| Blutiges Elend hat folgendes geschrieben: |
| Du weißt es doch bestimmt, warum hast du es denn nicht beantwortet :( |
Weil es nich einfach mit einem Satz beantwortet ist, und ich net alles umsonstn machen wollte *g*
Also... was schnelleres als via Scanline geht nicht.. :)
http://www.Koshigaya.de/KoolImageDemo.exe
eine kleine Demo zu der ImageKomponente die ich geschrieben habe... wenn du möchtest schicke ich sie dir mal zu :)
Au'revoir,
Aya~
Andreas Pfau - Mo 03.03.03 16:24
Also, wenn dein Logo so groß ist, dass es selbst mit Scanlie nicht in Echtzeit geht, dann solltest du ein Paenl auf deinem Form platzierenund mit OpenGL arbeiten. Dann kannst du auch noch ein paar hübsche Effekte einfügen, was weiß ich, Rotzoom oder so.
Ansonsten, wenn Scanline schell genug ist, natürlich so (bedenke, es gibt langsamere PCs als deinen!).
Delphianer23 - Mo 03.03.03 16:49
Echt cool!!
Nur leider funktionierte der close button nicht weil das Programm
nicht zu stoppen war. Taskplaner sei dank.
Ansonten echt cool :P
Meinst du den Quellcode mir schicken ?????
Wenn das so wäre, dann wäre das echt cool, weil ich genau so was
suche für den Programmstart. Kannst du mirs schicken ? *bettel*
email :
baum23@gmx.de
Aya - Mo 03.03.03 17:12
| Andreas Pfau hat folgendes geschrieben: |
| Also, wenn dein Logo so groß ist, dass es selbst mit Scanlie nicht in Echtzeit geht, dann solltest du ein Paenl auf deinem Form platzierenund mit OpenGL arbeiten. Dann kannst du auch noch ein paar hübsche Effekte einfügen, was weiß ich, Rotzoom oder so. |
Ich würde jedes Programm killen das nur für ein kleines Logo OpenGL Initialisiert... :)
| Zitat: |
Meinst du den Quellcode mir schicken ?????
Wenn das so wäre, dann wäre das echt cool, weil ich genau so was
suche für den Programmstart. Kannst du mirs schicken ? *bettel* |
Nich den Quellcode, sondern die Komponente ;)
Schick sie dir gleich.
Au'revoir,
Aya
Andreas Pfau - Mo 03.03.03 17:24
Aya, da muss ich dir Rechtgeben. Mein Fehler! :oops:
Dann mach ein AVI. Das geht schneller. Aber, wie ich sehe, klappt das mit den Scanlines. Dann wäre meine Arbeit hier getan :lol:
Spike - Mo 03.03.03 17:43
@ Aya,
ich bin auch sehr an der Komponente interessiert. Wäre nett wenn Du sie mir auch schicken könntest.
Mail:
spike_dfoa@gmx.de
Danke
Spike
wulfskin - Mo 03.03.03 17:56
| Spike hat folgendes geschrieben: |
@ Aya,
ich bin auch sehr an der Komponente interessiert. Wäre nett wenn Du sie mir auch schicken könntest.
Mail: spike_dfoa@gmx.de
Danke
Spike |
Schreib Ihr doch einfach eine PN oder eine E-Mail....
Delphianer23 - Mo 03.03.03 21:28
Mit was ist denn deine Komponente gemacht?
Es wird dort doch nicht auf opengl benutzt.
Alles nur mit virtuellen Bitmaps und scanline?
Aya - Mo 03.03.03 22:02
| Blutiges Elend hat folgendes geschrieben: |
| Alles nur mit virtuellen Bitmaps und scanline? |
Jep :)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!