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