« NSIS PL

Wtyczka advSplash

Ten dokument zgodny jest z NSIS 2.46

Wprowadzenie


AdvSplash.dll - mała (5.5k), prosta wtyczka, która pozwala na wyświetlenie obrazka powitalnego (splash screen) w instalatorach NSIS, z fajnymi efektami zanikania (win2k/xp) oraz przezroczystości.



Sposób użycia

  • Utwórz plik z obrazkiem powitalnym w formacie .BMP.
  • (opcjonalnie) Utwórz plik dźwiękowy w formacie .WAV, który zostanie odtworzony podczas wyświetlania obrazka.
  • Dodaj następujące linie do kodu pliku .NSI:
    Function .onInit
      SetOutPath $TEMP
      File /oname=spltmp.bmp "moj_obrazek.bmp"
    
    ; opcjonalnie
    ; File /oname=spltmp.wav "moja_melodyjka.wav"
    
      advsplash::show 1000 600 400 -1 $TEMP\spltmp
    
      Pop $0 ; zmienna $0 ma wartość '1', jeśli użytkownik zamknie
             ; wcześniej obrazek, '0' jeśli obrazek zamykany jest
             ; normalnie oraz '-1' jeśli wystąpił jakis błąd.
    
      Delete $TEMP\spltmp.bmp
    ; Delete $TEMP\spltmp.wav
    FunctionEnd
    

Format wywołania

advsplash::show Zwłoka CzasPojawiania CzasZaniku KolorKluczowy NazwaPliku
  • Zwłoka - czas, po którym zostanie wyświetlony obrazek (w milisekundach)
  • CzasPojawiania - czas potrzebny na pokazanie efektu pojawiania (w ms) (nie zawarty w Zwłoka)
  • CzasZaniku - czas potrzebny na pokazanie efektu zaniku (w ms) (nie zawarty w Zwłoka)
  • KolorKluczowy - kolor używany dla przezroczystości, dowolna wartość RGB (np. R=255 G=100 B=16 -> KolorKluczowy=0xFF6410), użyj KolorKluczowy=-1, jeśli nie ma koloru przezroczystości w twoim obrazku.
  • NazwaPliku - nazwa pliku obrazka (bez rozszerzenia .bmp). Użyty plik BMP będzie miał nazwę ten parametr.bmp, a plik wave (jeśli istnieje): ten parametr.wav.

(Jeśli masz już zdefiniowaną funkcję .onInit, wstaw powyższy kod własnie tam)

Uwaga 1:
Efekty pojawiania/zaniku dostępne są tylko w systemach win2k/winxp, wszystkie inne wyświetlą po prostu obrazek z Zwłoka = Zwłoka + CzasPojawiania + CzasZaniku. Również, zauważyłem, że mój winXP nie używa koloru przezroczystości w rozdzielczości obrazka 16 bpp, więc bpps niższe niż 32 dla obrazków z kolorem przezroczystości nie dają efektu zaniku.

Uwaga 2:
Zwracana wartość funkcji równa się 1, jeśli użytkownik zamknie wcześniej obrazek powitalny (zdejmie ją ze stosu).

-Justin

Konwersja na wtyczkę DLL - Amir Szekely (kichik)
Efekt zanikania i przezroczystości - Nik Medved (brainsucker)