Splash Screen wie Adobe
-
Hallo,
ich bin immer wieder fasziniert von den Splash-Screens von Photoshop, oder InDesign. Eine Transparente Form bekomme ich ja einfach hin, aber wie kriegen die den weichen Schatten an das Fenster? Ich hab schon einige Themen dazu gelesen, aber es hat bisher keiner eine Lösung dafür.
Hat jemand inzwischen das Problem gelöst und kann mir dazu was schreiben ?
Mein Ansatz dazu war bisher der Mausschatten, der ja immer an dem unförmigen Pfeil klebt. Kann man diesen Schatten auch an ein Fenster machen ?
Leider habe ich auch dazu nichts gefunden.Pronto451
-
wie kann man das formular eigendlich durchsichtig machen?

-
Hi.
Also Adobe macht einfach einen Screen Shot, der dann auf das Form gelegt wird. Dann Rechnet ein Algorythmus den eigentlichen Splashscreen dazu und das Forumalr wird angezeigt.
Das ist also nicht einfach ne API oder so.
-
larssgun schrieb:
wie kann man das formular eigendlich durchsichtig machen?

Mit AlphaBlend
-
und was is das?
-
und was is das?
Vergess es !!!
-
Hallo,
AlphaBlend ist eine Eigenschaft von TCustomForm mit der (und AlphaBlendValue) eine Form mehr oder minder durchscheinend gemacht werden kann. Zumindest ab Builder6 und W2k.
Ciao
-
danke braustein
-
Simon F. schrieb:
Also Adobe macht einfach einen Screen Shot, der dann auf das Form gelegt wird. Dann Rechnet ein Algorythmus den eigentlichen Splashscreen dazu und das Forumalr wird angezeigt.
Nette Idee, leider aber falsch.
Simon F. schrieb:
Das ist also nicht einfach ne API oder so.
Doch ist es. WinAPI sogar... Man kann nämlich nicht nur eckige fensterlein machen...
-
junix:
Nette Idee, leider aber falsch.
Das man nicht nur runde fenster machen kann weiss ich selber.
Und es ist definitiv so, das das mit einem Screen shot passiert, worauf der Splash gezeichnet wird.
Wenn man das Fenster hinter dem Splash ändert solange er eingeblendet ist, ändert sich der Rand nicht, da er ja zufor fotografiert wurde.
Mir hat früher der Splash von Adobe Acrobat gefallen, und da hab ich mich mal rangesetzt und ein paar breakpoints gesetzt. Und ich glaub nicht, das das fenster sich den Handle vom Desktop umsonst holt.
Wenn man nur das formular rund machen würde, würde es trotzdem keine übergänge geben. Oder was mainst du, Junix ??????
-
Ich hab mal mit nem bewegten Hintergrund experementiert und tatsächlich: Adobe "mogelt"

Dazu sollte man jetzt aber 2 Dinge sagen:
1.) Es geht auch anders (WinAPI-Forum fragen), dann aber nur unter XP
2.) So ist der Verlauf zwar nicht animiert, aber funktioniert vermutlich auch unter Win < XP.mfg
xXx
-
Da muß ich junix zu stimmen.
Wozu nen algo?
Sowas wie bei Acrobat etc. krieg ich in 1 min fertig.
Nen Bild, ein Image auf das Form. Border auf 0, Form nicht in der Taskleiste zeigen. Die Form auf durchsuchtig schalten. Dann Transparenz einschalten beim Image. Ein Label über das Image legen, so das da man sehen kann welche Plugins etc. geladen wird und fertig.Nix mit Alog und Screenshoot.
Screeenshoot ist ne moment aufnahme wie ein Foto.
-
Es geht um den weichgezeichneten Rand um das Fenster. Und das bekommst du so nicht hin!
-
DJ BlackEagle: wenn Du es schaffst den Adobe Splash in 2 min nachzuprogrammieren bekommst von mir 50 Liter Sprit.
-
Simon F. schrieb:
Wenn man das Fenster hinter dem Splash ändert solange er eingeblendet ist, ändert sich der Rand nicht, da er ja zufor fotografiert wurde.
Interessant. Ich kann allerdings beim Adobe Reader 7.0 in die "eingekreiste" Zone wo der Desktop im Splash sichtbar ist wunderbar reinklicken und voilà ist das darunterliegende symbol aktiviert... Glaube kaum, das sich adobe den Aufwand gemacht hat extra den klick weiterzuleiten. Allerdings kanns gut sein, dass es früher anders war.
-
So da guck: http://www.inside-network.de/Adobe-Clone.rar
Ich habe nur den Schatten nicht im Bild drin.
Da ist das Projekt und ne .exe als Beispiel, die mitgelieferten Projekt compeliert wird.
-
Hallo DJ BlackEagle,
Jou, das krieg ich auch in 2 min. hin, aber was ist jetzt mit dem weichen Schatten um das Fenster ? Darum geht es !!!
Bis jetzt bekomme ich den Schatten nur um ein rechteckiges Fenster, trotz eingeschaltetem AlphaBlending wird der Schatten eckig.
//--------------------------------------------------------------------------- void __fastcall TForm1::CreateParams(TCreateParams &Params) { inherited::CreateParams(Params); const CS_DROPSHADOW = 0x00020000; Params.WindowClass.style |= CS_DROPSHADOW; }Hat jeman eine Ahnung, wie man den Schatten jetzt noch anpassen kann ?
Pronto451
-
Wie du im Im Projekt siehst, nutze ich ein Image Compo.
Da habe ich nur ein Bild rein gemacht. Das heißt für dich, du kannst dem Bild den Schatten machen (mit Photoshop oder sonstige MailProgrammen.).
Nimm Photoshop, male dein Bild. Nutze ein Filter für den Schatten, speicher es ab. Tu es im Image COmpo rein und stelle alles einfach so ein wie ich das gemacht habe und du hast dein Schatten...
Dafür ist es unter allen Win Versio zu sehen. Weil Win95/98/ME kein Schatten können, so wie du das im Code Beispiel machst.
-
DJ BlackEagle: Sag mal liest Du überhaup mit ? Es gaht um einen Weichen Halbdurchsichtigen schatten !
Beispiel:http://www.umam.biz/splash.jpg
Wie du siehst ist ein farbübergang von schwarz nach durchsichtig. Und um das geht es hier !
-
Dein Projekt ist zwar ganz nett, aber es ist nicht die Lösung auf die Frage wie Adobe es schafft den SplashScreen so anzuzeigen, dass er weichgezeichnet erscheint. Ich bezeifel sehr stark, dass das Bild einfach eingeladen und dann auf Transparent gesetzt wird. Auf diese Art und Weise wäre es nicht möglich, solch weiche Übergänge zu schaffen.
Wenn man neben den SplashScreen z.B. auf den Desktop klickt, funktioiert das ganz normal, also wird nicht einfach nur ein ScreenShot gemacht, das Logo hineingerechnet und dann den kompletten Desktop füllend angezeigt.
Um den Splash ist noch eine Fläche von ca. 50 bis 100 Pixeln, die noch zum Adobefenster gehören, wo man also nicht auf den eigentlich sichtbaren Desktop klicken kann. Ich vermute, dass Adobe einen ScreenShot macht, darin das Logo hineinrechnet und es dann auf der Desktopmitte anzeigt.
Ein Beweis dafür wäre, dass man Icons auf dem Desktop anklicken kann, die dann aber nur zur Hälfte markiert werden (da der andere Teil noch vom ScreenShot überlagert wird.).Gruss
-
Natürlich wird nicht der Ganze Bildschirm mit den splash gefüllt....wär ja völliger schwachsinn (und ich dachte, dass kann sich jeder selber denken).