Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi SplashScreen mit PNG? (https://www.delphipraxis.net/56517-splashscreen-mit-png.html)

r_amse_s 29. Jul 2007 14:45

Re: SplashScreen mit PNG?
 
@ Khabarakh

hat bei dir in dem projektrumpf was ich weiter oben gepostet habe, funktioniert ?
oder war das eine andere "stand alone" app mit mein png ?

könntest du mir bitte die modifizierte app schicken oder hier posten ? danke!

Khabarakh 29. Jul 2007 15:14

Re: SplashScreen mit PNG?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Die Änderungen kann ich noch an einer Hand abzählen (jedenfalls sofern ich keine vergessen habe :stupid: )
  • Bin- und Suchpfade konfigurieren
  • uConst-Referenzen entfernen
  • Natürlich den Exit-Aufruf in LoadPngFile entfernen
  • AlphaBlend in der Base-Form auf false setzen

r_amse_s 29. Jul 2007 15:48

Re: SplashScreen mit PNG?
 
yep, jetzt sehe auch ich die weisse linie und die transparenten pixel. Aber woran liegt das ?
bzw. warum funkt. beim Splash und bei maxiform nicht ?

r_amse_s 30. Jul 2007 20:40

Re: SplashScreen mit PNG?
 
ich finde leider keine Lösung für die weissen Streifen+transparente pixel...:(
kann mir jemand einen hinweis geben ?



danke!

r_amse_s 3. Aug 2007 18:07

Re: SplashScreen mit PNG?
 
Liste der Anhänge anzeigen (Anzahl: 1)
das ist mein letztes ergebnis.
kann mir bitte jemand erklären warum nur einige pixel transparent sind, woher kommt diese weisse umrandung und wie kann man das fixen.

das gewünschte effekt wird derzeit nur im splash erzielt.

bitte um hilfe !

Danke schön!

Khabarakh 3. Aug 2007 18:49

Re: SplashScreen mit PNG?
 
Ich vermute immer noch einen Bug beim Laden des PNGs (auch wenn es wohl doch nicht dieser hier ist) - lass dir doch zum Bleistift einfach mal ausgeben, welche Transparenz der Pixel (5|5) besitzt.

r_amse_s 5. Aug 2007 12:32

Re: SplashScreen mit PNG?
 
was ich nicht verstehe: warum funkt für die splash form und für die anderen nicht mehr.
die png von splash und von maxi form sind doch gleich vom aufbau her.

wie soll ich die transparenz von den pixel 5|5 auslesen ?

r_amse_s 5. Aug 2007 20:32

Re: SplashScreen mit PNG?
 
Hurra ! ist gelöst!
das Problem war in das png selbst ! obwohl in mehrere bildbearbeitungsprogramme der weisse streifen als transparent angezeigt wurde, ist im wirklichkeit weiss. fragt mich bitte nicht warum... wahrscheinlich fehler 30 (sitzt 30 cm vor dem bildschirm :-) )

danke für alle hinweise!

r_amse_s 5. Aug 2007 22:10

Re: SplashScreen mit PNG?
 
neues problem:

die VCL controls werden nicht mehr angezeigt, bzw. auf der maxiform gezeichnet. es ist nur die leere (jetzt mit richtige transparenz) sichtbar.

gibt es da lösung ?

danke!

turboPASCAL 6. Aug 2007 04:55

Re: SplashScreen mit PNG?
 
Zitat:

Zitat von r_amse_s
neues problem:

die VCL controls werden nicht mehr angezeigt, bzw. auf der maxiform gezeichnet. es ist nur die leere (jetzt mit richtige transparenz) sichtbar.

gibt es da lösung ?

danke!

Guck'st du bitte da: Form mit PNG Skin und VCL Controls

taktaky 14. Okt 2007 13:08

Re: SplashScreen mit PNG?
 
Zitat:

Zitat von Khabarakh
Hier die versprochene Demo.
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
  Alpha: Boolean;
begin
  Bit := TBitmap32.Create;
  LoadPNGintoBitmap32(Bit, ExtractFilePath(ParamStr(0)) + 'test.png', Alpha);

  setWindowLong(Handle, GWL_EXSTYLE,
    getWindowLong(Handle, GWL_EXSTYLE) or WS_EX_LAYERED {or WS_EX_TRANSPARENT});
  // WS_EX_TRANSPARENT macht das Fenster für Mausklicks transparent
 
  BlendF.BlendOp := AC_SRC_OVER;
  BlendF.BlendFlags := 0;
  BlendF.SourceConstantAlpha := 255;
  BlendF.AlphaFormat := AC_SRC_ALPHA;
  P := Point(0, 0);
  Size.cx := Bit.Width;
  Size.cy := Bit.Height;

  UpdateLayeredWindow(Handle, 0, nil, @Size, Bit.Handle, @P, 0, @BlendF, ULW_ALPHA);
end;
Ich verwende hier für den Alphakanal die GR32-Lib (ist einfach einfach :wink: ), aber es ist natürlich auch per WinAPI/VCL möglich.

Ich wolte das Projekt anschauen leider fehlt beim Öffnen die .Res

Ich habe G32 Package installiert trotzdem bekomme ich diese Meldung:
[Error] Unit1.pas(40): Undeclared identifier: 'LoadPNGintoBitmap32'
Delphi-Quellcode:
begin
  Bit := TBitmap32.Create;
  LoadPNGintoBitmap32(Bit, ExtractFilePath(ParamStr(0)) + 'test.png', Alpha); // da
<>

turboPASCAL 14. Okt 2007 18:14

Re: SplashScreen mit PNG?
 
Hier im Forum suchenLoadPNGintoBitmap32 oder Bei Google suchenLoadPNGintoBitmap32

:roll:

taktaky 14. Okt 2007 18:47

Re: SplashScreen mit PNG?
 
Zitat:

Zitat von turboPASCAL

Ich möchte zuerst wissen, warum bei mir so, obwohl die Komponenten installiert habe!

turboPASCAL 14. Okt 2007 18:53

Re: SplashScreen mit PNG?
 
Weil es nicht LoadPNGintoBitmap32 in der Gr32 Komponente gibt.
LoadPNGintoBitmap32 ist eine eigenständige Hilfsroutine um PNG-Bilder
in (bzw. auf) ein Bitmap32 zu kopieren.

taktaky 14. Okt 2007 19:07

Re: SplashScreen mit PNG?
 
Zitat:

Zitat von turboPASCAL
Weil es nicht LoadPNGintoBitmap32 in der Gr32 Komponente gibt.
LoadPNGintoBitmap32 ist eine eigenständige Hilfsroutine um PNG-Bilder
in (bzw. auf) ein Bitmap32 zu kopieren.

OK. Ist LoadPNGintoBitmap32 eine .pas Datei oder .dpk?
wo kann ich downloaden?

DeddyH 14. Okt 2007 19:18

Re: SplashScreen mit PNG?
 
Schau mal hier

taktaky 14. Okt 2007 19:52

Re: SplashScreen mit PNG?
 
Zitat:

Zitat von DeddyH
Schau mal hier

Danke. Es hat geklappt nachdem ich den Pfad von dieser Unit in Library hinzugefügt habe.

Was soll man tun um den Schatten zu kriegen?

Man muss wahrscheinlich die Farben Schwarz weichen von bis Schwarz
d.h. alles was 100% schwarz wird transparent und was fast schwarz ist der Schatten oder?

prelude247 8. Nov 2007 17:45

Re: SplashScreen mit PNG?
 
Hallo zusammen!

Gibt es ne Alternative zu TBitmap32 um die Geschichte zu realisieren?

MfG
Prelude247

xaromz 8. Nov 2007 17:53

Re: SplashScreen mit PNG?
 
Hallo,
Zitat:

Zitat von prelude247
Gibt es ne Alternative zu TBitmap32 um die Geschichte zu realisieren?

Klar gibt es die.

Gruß
xaromz


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:03 Uhr.
Seite 2 von 2     12   

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