Część II – Wyświetlanie obrazów

Transkrypt

Część II – Wyświetlanie obrazów
Część II – Wyświetlanie obrazów
Tło fragmentu
ABA-X Display jest wyposażony w mechanizm automatycznego tworzenia tła fragmentu.
Najprościej można to wykonać za pomocą skryptu tlo.sh:
Składnia:
tlo.sh <numer> <plik>
numer – oznacza numer fragmentu (:0 odpowiada całemu ekranowi),
plik – ścieżka dostępu do pliku lub URL (HTTP lub FTP)
Orientacja obrazu (poziom lub pion) jest dobierana automatycznie odpowiednio do orientacji fragmentu
zapisanej w pliku /tmp/okno<numer> (wartość zmiennej MONITOR).
Jeśli rozmiary obrazka, który reprezentuje plik są mniejsze niż fragmentu ekranu automatycznie zostanie
wykonana funkcja „tile”, która spowoduje powielenie obrazka na całym ekranie.
Jeśli obraz przeznaczony do wyświetlenia w tle ma rozmiary większe, niż fragment ekranu system będzie
starał się wykonać „najlepsze możliwe” skalowanie bez zmiany proporcji obrazu (stosunku wysokości do
szerokości). Może to doprowadzić do niekontrolowanego powielenia części obrazu, jeśli jego proporcje nie są
identyczne jak proporcje fragmentu ekranu.
Jeśli tło ma być pokryte dużym obrazem najbezpieczniej jest go przygotować od razu w wymiarach
identycznych jak fragment ekranu.
Podstawowy zestaw plików graficznych umożliwiających tworzenie tła umieszczono w katalogu
/mnt/local/Images/Tapety.
Skrypt tlo.sh może być wykorzystany także do wyświetlania obrazów, które mają zająć cały fragment
ekranu.
UWAGA:
Na tle można umieszczać dowolne obrazy o dowolnej geometrii, należy jednak pamiętać, że usunięcie
ostatniego wyświetlanego obrazu spowoduje także usunięcie tła i fragment ekranu zostanie wygaszony
(przybierze kolor czarny). Nie dotyczy to tła wyświetlanego na całym ekranie (numer :0).
Jeżeli obrazy wyświetlane w pokrytym tłem fragmencie mają być zmieniane należy pozostawić co najmniej
jeden obraz (np. tytuł fragmentu), co wymusi ciągłe wyświetlanie tła.
ABA-X Display – dokumentacja techniczna
str. 1 z 8
(c) Tomasz Barbaszewski, 2006
Część II – Wyświetlanie obrazów
Strona interfejsu WWW do skryptu tlo.sh
UWAGI:
–
–
–
–
–
Hasło administratora musi być ponownie wpisane za każdym razem! W przeciwnym przypadku
system nie wykona żadnej akcji,
Pola określające dostęp do pliku są alternatywne. Na przykład przy wyświetlaniu tła z pliku lokalnego nie
ma potrzeby podawania użytkownika i hasła,
Dostęp do serwerów FTP musi być autoryzowany (należy wprowadzić nazwę użtkownika i hasło),
Dostęp do serwerów HTTP nie jest autoryzowany.
W przypadku korzystania z serwerów sieciowych dane należy wprowadzać w następujący sposób:
Adres/nazwa serwera: www.aba.krakow.pl
Ścieżka dostępu do plików: Obrazki/ikony
Nazwa pliku do wyświetlenia: diabelek.gif
Odpowiadająca komenda jest następująca: http://www.aba.krakow.pl/Obrazki/ikony/diabelek.gif
ABA-X Display – dokumentacja techniczna
str. 2 z 8
(c) Tomasz Barbaszewski, 2006
Część II – Wyświetlanie obrazów
Tytuł fragmentu
Skrypt tytul.sh umożliwia wyświetlenie tytułu fragmentu. Orientacja jest wyznaczana automatycznie.
Obraz jest pozycjonowany u góry fragmentu i automatycznie centrowany.
Skrypt tytuł może być także używany do wyświetlania dowolnych plików graficznych, których pozycja ma być
określona względem górnej krawędzi okna i które powinny być centrowane. Każdy fragment ekranu może
posiadać TYLKO JEDEN tytuł! Próba powtórnego wyświetlenia tytułu spowoduje przekazanie komunikatu o
wystąpieniu błędu.
UWAGA:
Jeśli podane wymiary obrazu nie odpowiadają jego rzeczywistym rozmiarom (w pikselach) mogą powstać
błędy w jego pozycjonowaniu!
Składnia:
tytul.sh <numer> <odstęp> <szerokość> <wysokość> <plik>
np.:
tytul.sh :3 20 500 50 /mnt/local/Images/info.png
Zmienne pozycjonujące obraz we fragmencie
numer - oznacza numer fragmentu (:0 odpowiada całemu ekranowi),
odstęp – odstęp od górnej krawędzi fragmentu (patrz rysunek),
szerokość, wysokość – wymiary obrazu (patrz rysunek):
Zaleca się przygotowanie plików graficznych zawierających obrazy o szerokości i wysokości dostosowanej
do rozmiarów fragmentu i podanie tych wartości w komendzie wyświetlania tytułu. System jest co prawda
wyposażony w mechanizm aktualnego skalowania obrazu, jednakże jest to dokonywane automatycznie bez
zmiany proporcji i może spowodować błędy w pozycjonowaniu obrazu oraz nieoczekiwaną zmianę jego
wielkości, co niekorzystnie wpływa na wygląd ekranu.
plik – ścieżka dostępu do pliku lub URL (HTTP lub FTP).
ABA-X Display – dokumentacja techniczna
str. 3 z 8
(c) Tomasz Barbaszewski, 2006
Część II – Wyświetlanie obrazów
Interfejs obsługujący wyświetalnie tytułu fragmentu
–
–
–
Tytuł jest zawsze automatycznie centrowany,
Pozycja tytułu będzie zachowana, jeśli podamy rzeczywiste wymiary obrazu. Jeśli bedzie wykonywane
skalowanie, to pozycja będzie zachowana jedynie w przypadku, gdy proporcje obrazu nie ulegną zmianie.
System skalowania zachowuje proporcje obrazu (nie zniekształca go!) lecz konieczność przekształcenia
może spowodować błędy pozycjonowania.
Tytuł fragmentu jest zwykłym obrazem i różni się tylko sposobem pozycjonowania.
ABA-X Display – dokumentacja techniczna
str. 4 z 8
(c) Tomasz Barbaszewski, 2006
Część II – Wyświetlanie obrazów
Wyświetlanie obrazu
Skrypt obrazfree.sh służy do wyświetlenia obrazu o zadanych wymiarach wewnątrzy dowolnego, wcześniej
zdefiniowanego fragmentu ekranu (całemu ekranowi odpowiada fragment :0).
Jeżeli wybrany wcześniej fragment nie jest aktywny (nie został utworzony za pomocą jednej z komend
„okno”) to skrypt zakończy się komunikatem o błędzie.
Składnia:
obrazfree.sh <numer> <pozycja_x> <pozycja_y> <szerokość> <wysokość> <plik>
numer - oznacza numer fragmentu (:0 odpowiada całemu ekranowi),
pozycja_x, pozycja_y - pozycja obrazu wewnątrz fragmentu (patrz rysunek).Pozycje są zawsze
(niezależnie od orientacji fragmentu) określane względem dolnego lewego rogu ekranu (tak jak w klasycznym
układzie współrzędnych).
szerokość, wysokość – wymiary obrazu (patrz rysunek):
Zaleca się przygotowanie plików graficznych zawierających obrazy o szerokości i wysokości dostosowanej
do rozmiarów fragmentu i podanie tych wartości w komendzie wyświetlania obrazu. System jest co prawda
wyposażony w mechanizm aktualnego skalowania obrazu, jednakże jest to dokonywane automatycznie bez
zmiany proporcji i może spowodować błędy w pozycjonowaniu obrazu oraz nieoczekiwaną zmianę jego
wielkości, co niekorzystnie wpływa na wygląd ekranu.
plik – ścieżka dostępu do pliku lub URL (HTTP lub FTP).
Wykonanie skryptu obrazfree.sh powoduje zaktualnizowanie pliku /tmp/obrazy, w którym są zawarte
informacje o aktualnie wyświetlanych obrazach (ograniczone wyjście komendy ps).
ABA-X Display – dokumentacja techniczna
str. 5 z 8
(c) Tomasz Barbaszewski, 2006
Część II – Wyświetlanie obrazów
Interfejs WWW obsługujący wyświetlanie obrazu
Interfejs WWW umożliwia wyświetlanie obrazów z różnych źródeł:
– jeśli korzystamy z pliku lokalnego nie należy wprowadzać danych serwerów sieciowych (nie są one brane
pod uwagę). Ścieżka dostępu do plików jest ścieżką względną – katalogiem macierzystym jest katalog
/mnt/local/Images.
– W przypadku wyboru opcji Serwer HTTP nie jest obsługiwany system autoryzacji, a więc dane zawarte w
polach „Użytkownik Serwera FTP” i „Hasło dostępu” nie są brane pod uwagę.
– Pobieranie z serwera FTP wymaga autoryzacji.
– Wybór akcji Wykonaj powoduje natychmiastowe przystąpienie do wyświetlania obrazu. Jeśli obraz jest
pobierany z sieci może wystąpić opóźnienie związane z koniecznością przesłania pliku graficznego przez
sieć. W przypadku braku dostępu do serwera lub pliku zostanie wyświetlony komunikat o błędzie.
Komenda wyświetlenia nie powoduje zapisu danych o sposobie wyświetlania obrazu.
– Wybór akcji Zapisz nie powoduje wyświetlenia obrazu, a jedynie zapisanie danych o sposobie jego
ABA-X Display – dokumentacja techniczna
str. 6 z 8
(c) Tomasz Barbaszewski, 2006
Część II – Wyświetlanie obrazów
wyświetlania w pliku o nazwie <komenda>.picture który ma postać jednej linii z komendą:
W przypadku pliku lokalnego:
/mnt/conf/X11/obrazfree.sh :0 20 40 350 555 /mnt/local/Images/greg.jpg
lub zdalnego:
/mnt/conf/X11/obrazfree.sh :0 20 40 350 555
ftp://tomekb:[email protected]//home/tomekb/Grafika/greg_hildebrandt013.jpg
Plik ten jest plikiem wykonywalnym i dopiero jego uruchomienie powoduje wyświetlenie obrazu.
Pliki <nazwa>.picture są wykorzystywane przez systemu zarządzania obrazami – np. do wyświetlania
obrazów w określonym czasie, do wyświetlania cyklicznego (np. wymiany obrazów co określony czas – np. co
pół minuty) itp. Pliki te mogą być także wykorzystywane przez własne programy użytkownika zarządzające
wyświetlaniem obrazów i w połączeniu z plikami <nazwa>.data definiującymi podziały ekranu umożliwiają
pełną automatyzaję i dystrybucję wyświetlania.
ABA-X Display – dokumentacja techniczna
str. 7 z 8
(c) Tomasz Barbaszewski, 2006
Część II – Wyświetlanie obrazów
Kasowanie obrazu:
Do skasowania obrazu służy skrypt kasuj.sh.
Składnia
kasuj.sh <wzorzec>
wzorzec – dowolna unikalna nazwa (np. nazwa pliku graficznego)
Skasowanie obrazu następuje niezależnie od fragmentu, w którym jest on wyświetlany.
Skasowanie ostatniego obrazu w oknie powoduje także skasowanie wyświetlanego tła! Zaleca się pozostawiać
tytuł okna.
Skrypt kasuj uaktualnia zawartość listy wyświetlanych obrazów (w pliku /tmp/obrazy).
Interfejs kasowania obrazu
–
–
–
Obraz do skasowania jest wybierany na podstawie wzorca. Wzorcem może być nazwa pliku lub jej
jednoznaczny fragment.
Tła nie są wyświetlane!
Skasowanie obrazu następuje natychmiast.
ABA-X Display – dokumentacja techniczna
str. 8 z 8
(c) Tomasz Barbaszewski, 2006