AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Touhou - BadApple!! Screensaver mit Delphi rekriiert
Thema durchsuchen
Ansicht
Themen-Optionen

Touhou - BadApple!! Screensaver mit Delphi rekriiert

Ein Thema von Memnarch · begonnen am 20. Jan 2011 · letzter Beitrag vom 23. Mai 2023
Antwort Antwort
blackfin
(Gast)

n/a Beiträge
 
#1

AW: Touhou - BadApple!! Screensaver mit Delphi rekriiert

  Alt 12. Jul 2011, 21:31
Ahh, das wars! Danke, himitsu, klappt nun alles wunderbar!

Tolles Teil!

Edit:
Kannst du mir vielleicht verraten, wie man so etwas im Ansatz macht?
Von der Vorgehensweise her...den Quellcode will ich ja gar nicht
Mir interessiert als 2D-Grafik-Noob die generelle Herangehensweise. Ich würde sowas nicht hinbekommen, niemals nicht.
Ich würde wahrscheinlich rangehen und versuchen, das irgendwie über OpenGL anzuzeigen, was sicher für so etwas ein Total-Fail ist

Du hast also das Video gehabt, davon hast du jedes Frame exportiert und zeigst das in Delphi mit Alphablending an?
Oder doch ganz anders? Oder doch so? Und wie das ganze?
Wenn du sagst: Nee, is geheim, dann ists auch OK

Geändert von blackfin (12. Jul 2011 um 22:07 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Memnarch
Memnarch

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

AW: Touhou - BadApple!! Screensaver mit Delphi rekriiert

  Alt 13. Jul 2011, 00:05
Quatsch nix geheim .

Video frame by frame exportiert(das erledigt vegas). Jeder Frame wurde als PNG exportiert mit den nötigen alphawerten(je heller desto transparenter). Alle bilder hab ich dan über einen selbst geschriebenen packer in eine datei gepackt(animation.dat). Natürlich gibt es auch das gegenstück dazu. Da gleich am anfang die komplette tabelle für jedes bild steht(von wo bis wo), kann ich einzelne Bilder gezielt aus der Animation.dat file rausholen. EIn thread im hintergrund buffert immer 30 bilder in bitmaps. Das benötigte bild wird einem layered window zugewiesen.

Per windows api kann man einem Form diese eigenschaften zuweisen, dann kann ich darauf transparente bilder zeichnen.

Ein Timer setzt in regelmässigen abständen das bild für das LAyeredWindow neu, der Thread im hintergund gibt die Bilder wieder Frei die der AnimationsTimer bereits hintersich gelassen hat.

Um Audio immer synchron zu halten gehe ich die bilder nicht direkt chronoligisch durch. Ich frage die mediaplayer komponennte die die music spielt, bei wieviel ms ich gerade bin und errechne daraus die bild position.(so kann auchmal 1-2 bilder übersprungen werden, wenn der pc ein bild nicht schnell genug zeichnet).

Das wäre das ganze zusammengefasst

Das tolle:
Ich könnte die Animation.dat durch einen anderen film mit selber FPS ersetzen(imo wird die FPS nicht in der datei hinterlegt), und könnte dies somit benutzen


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

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.398 Beiträge
 
Delphi 12 Athens
 
#3

AW: Touhou - BadApple!! Screensaver mit Delphi rekriiert

  Alt 13. Jul 2011, 09:18
Tipp: Da die Bilder wirklich transparenz sind und nicht einfach nur ein Screenshot gemacht wurde, auf dem alles nur billig drauf rumgemalt wird....


Nimm statt Schwarz und Weiß mal zwei unterschiedliche Transparenzen ... da sieht man dann sogar noch den echten Desktop, also alles, was im Hintergrund passiert.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Memnarch
Memnarch

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

AW: Touhou - BadApple!! Screensaver mit Delphi rekriiert

  Alt 13. Jul 2011, 09:27
@Himitsu: öhm wie meinst du dass? Man sieht doch schon den echten desktop o.O. Und unter den konfigurationen findest du zwei slider für die Transparenzen. Einmal für die transparenz des eig. weißen bereiches(den kannst du sogar färben), und das bild insgesamt.

Ah mist...ihr habt den testbuild geladne...der ist ÄLTER. Ihr müsst den MU link nehmen^^


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 23:56 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