Skanowanie ze SCANdalem
From MorphOS Library
Autor: Michał Żukowski
SCANdal jest graficznym interfejsem obsługi skanerów, wykorzystującym sterowniki standardu Betascan/SANE. Został napisany w MUI i przeportowany na większość systemów amigowych (MorphOS, AmigaOS 4.x, AmigaOS3.x, AROS). Celem jego stworzenia było dostarczenie użytkownikom darmowego oprogramowania (chociaż o zamkniętym kodzie źródłowym), które umożliwia efektywne wykorzystanie starych i nowych skanerów wykorzystując zaawansowane cechy obsługiwanych systemów.
Wymagania
SCANdal potrzebuje poniższych składników do działania: dla wersji dla AmigaOS
- MUI (Magic User Interface) version 3.8 or lub późniejszego
- urltext.mcc MUI class
dla MorphOSa <= 2.x
- wymagane jest zainstalowanie Update Pack zawierającego jfif.library i png.library, a także klasy Aboutbox.mcc
- wersja dla systemu MorphOS wykorzystuje zaawansowane możliwości MUI4 i może nie działać poprawnie na starszych wersjach systemu
UWAGA: Wersja SCANdala 1.5 wymaga MorphOSa 2.7
Dodatkowo, komputer musi być wyposażony w odpowiedni interfejs (SCSI lub USB) do podłączenia skanera. Interfejsy Firewire i sieciowy nie są narazie obsługiwane. Wymagane są także odpowiednich sterowniki do posiadanego skanera w standardzie Betascan. SCANdal jest tylko graficznym interfejsem do sterowników, więc bez nich nie umożliwia skanowania.
Instalacja SCANdala
SCANdal jest gotowy do uruchomienia zaraz po rozpakowaniu go w dowolnym katalogu. Nie wymaga kopiowania plików do innych katalogów niż jego katalog domowy. Do poprawnego działania wymaga jednak sterowników Betascan w postaci plików #?.device obecnych w dowolnym katalogu na dysku.
Używanie
Preferencje sprzętu
- SCSI
Obecna komunikacja ze skanerami przez interfejs SCSI opiera się o dwa pliki #?.device. Pierwszy plik jest niskopoziomowym sterownikiem obsługującym komunikację za pomocą protokołu SCSI. Dla systemu MorphOS, w przypadku użycia karty SCSI opartej o układy Symbios jest to urządzenie symbios.device stworzone dynamicznie w pamięci podczas wczytywania systemu operacyjnego. Dla Amig wyposażonych w karty scsi np. znajdujące się na rozszerzeniu Blizzard 1230 można użyć urządzenia 1230scsi.device.
Nazwa urządzenia obsługującego niskopoziomową komunikację powinna być wpisana w pole Urządzenie w preferencjach urządzenień SCANdala. Można także wybrać je z listy dostępnych urządzeń znajdujących się w pamięci operacyjnej lub wybrać plik na dysku. Jeśli chcemy wybrać urządzenie z listy, należy zaznaczyć opcję Pokaż urządzania w pamięci.
Po wybraniu pliku urządzenia dla skanerów SCSI należy wybrać także jego numer w magistrali SCSI i wpisać do pola *Jednostka* w oknie preferencji. Jeśli korzystamy ze starej wersji sterownika EpsonUSB.device, należy wpisać wybrany w preferencjach klasy usbwrap.class numer.
- USB i SCSI
By zakończyć konfigurację SCANdala, należy wybrać sterownik standardu Betascan dla posiadanego skanera, uzupełniając pole Sterownik skanera. Część sterowników wymaga lub pozwala na użycie plików konfiguracyjnych #?.conf znajdujących się w katalogu S:. Więcej informacji o plikach konfiguracyjnych można znaleźć w dokumentacji backendów SANE oraz w rozdziale tego podręcznika opisującym konfigurowanie skanerów.
W zakładce Inne można wybrać kolory dla linijki, wskazać ścieżki zapisu
dla obrazków oraz katalog zawierający wtyczki dla programu (np. Morphos:Applications/Sketch/plugins). Obsługa wtyczek wymaga Morphosa 2.5 lub wersji późniejszej.
SCANdal otwiera plik sterownika urządzenia i rozpoczyna proces komunikacji podczas pierwszego skanowania lub też po naciśnięciu przycisku Połącz. Można także ustawić w tooltype ikonki (AUTOCONNECT = TRUE) lub zaznaczyć odpowiednią opcję w oknie preferencji by SCANdal łączył się ze skanerem podczas uruchamiania. Jeśli wybraliśmy inny sterownik podczas działania SCANdala i spróbujemy się połączyć jeszcze raz, program zamknie poprzednie połączenie ze skanerem i spróbuje otworzyć nowe. Obecnie nie ma jeszcze możliwości używania SCANdala z wieloma skanerami jednocześnie.
Po skonfigurowaniu skanera należy zapisać preferencje, wybierając z menu Ustawienia->Użyj lub Ustawienia->Użyj. By przywrócić poprzednie ustawienia należy wybrać pozycje menu Ustawienia->Wczytaj ostatnio zapisane.
Formaty zapisu
SCANdal obsługuje poniższy formaty zapisu:
- IFF DEEP - dane nieskompresowane, 24 bity na piksel
- JPEG - zapis w 8 bitach dla obrazków w trybach LineArt i Grey oraz w 24 bitach dla skanów w kolorze. Można zmienić jakość obrazka (1%-100%) oraz zapisać obrazek w trybie progresywnym. Dodatkowo, zapisywana jest informacja o DPI, w którym skanowano rysunek.
- PNG - zapis w 8 bitach dla obrazków w trybach LineArt i Grey oraz w 24 bitach dla skanów w kolorze. Dla formatu PNG można ustawić stopień kompresji (1-7). Dodatkowo, zapisywana jest informacja o DPI, w którym skanowano rysunek.
- TIFF- zapis w 8 bitach dla obrazków w trybach LineArt i Grey oraz w 24 bitach dla skanów w kolorze. Dla formatu TIFF można wybrać jeden z następujących trybów kompresji: NONE, PackBits, LZW, Deflate, JPEG (kompresja JPEG może nie działać w zależności od wersji biblioteki tiff.library). Dodatkowo, zapisywana jest informacja o DPI, w którym skanowano rysunek.
- PDF - zapis w 8 bitach dla obrazków w trybach LineArt i Grey oraz w 24 bitach dla skanów w kolorze z kompresją lub bez. Zapis w formacie PDF wymaga biblioteki hpdf.library.
Obsługa zapisa w formatach PNG i JPEG jest wkompilowany w program w wersjach dla AmigaOS4.x, AmigaOS3.x i AROSa. W wersji dla systemu MorphOS SCANdal wykorzystuje biblioteki jfif.library oraz png.library, przez co wymaga mniej pamięci i ma mniejszy rozmiar na dysku. W następnych wersjach powinny pojawić się inne formaty zapisu.
Opcje dodatkowe:
- Autotomatycznie dodawaj rozszerzenie - automatycznie dodaje rozszerzenie pliku (.deep, .jpg, .png) gdy użytkownik poda nazwę bez rozszerzenia
- Pytaj czy nadpisać - pyta podczas zapisywania pliku o nazwie, która istnieje już na dysku czy nadpisać
Wczytywanie wcześniej zapisanych skanów
SCANdal używa do wczytywania zapisanych skanów klas Reggae. System datatypów nie jest wspierany z powodu braku obsługi pobierania informacji o DPI obrazka co jest wymagane przez SCANdal do poprawnego drukowania. Jeśli klasa dekodera Reggae nie obsługuje informacji o DPI lub obrazek nie ma tej informacji zapisanej można wybrać DPI w oknie:
W celu pełniejszej obsługi obrazków w Reggae polecane jest ściągnięcie dodatkowych klas demuxerów i dekoderów z: http://brain.umcs.lublin.pl/~rzookol/classes.html
Obsługa drukowania
SCANdal używa sterowników Turboprint (dołączonych do MorphOS).
Preferencje skanowania
Preferencje dotyczące skanowania są umieszczone w dwóch zakładkach:
- Ustawienia ogólne w zakładce Preferencje -> Skaner umożliwiają zmianę opcji takich jak:
- Rozdzielczość (w punktach na cal - DPI) używając suwaka lub gadżetu z predefiowanym wartościami
- Tryb (LineArt - skanowanie w czerni i bieli, Grey - odcienie szarości i Color - skanowanie w pełnym kolorze, lista trybów zależy od możliwości skanera)
Zależne od możliwości skanera - sprzętowa korekcja Gammy
- jakość skanowania
- tryb negatywu
- skanowanie w trybie podglądu, powinno być szybsze niż skanowanie w normalnym trybie
- prędkość
- źródło skanowania (Flatbed/ADF/TA)
- półcienie (działa tylko w trybie cz-b dla większości skanerów)
- progowanie (działa tylko w trybie cz-b dla większości skanerów)
- Opcje dotyczące zaznaczania obszaru skanowania znajdują się w zakładce Skanuj,
dodatkowo w polu podglądu można zaznaczyć myszką wybrany do skanowania obszar, dwuklik lewym klawiszem myszki powoduje zaznaczenie całego dostępnego obszaru. Ramka określająca obszar skanowania posiada białe pola. Trzymając lewy klawisz myszki nad nimi uzyskujemy możliwość zmiany wielkości lub miejsca położenia ramki. W wersji dla systemu MorphOS wskaźnik mysz zmienia kształt gdy znajduje się nad tymi polami by użytkownik wiedział, że funkcja zmiany wielkości stała się aktywna.
Preferencje skanowania można zapisać do pliku projektu wykorzystując odpowiednie pozycje menu Projekt.
Obsługiwane skanery
Poniższe backendy SANE zostały przeportowane na MorphOSa:
Nazwa backendu | Lista obsługiwanych skanerów |
---|---|
umax | http://www.sane-project.org/sane-backends.html#S-UMAX |
epson2 | http://www.sane-project.org/sane-backends.html#S-EPSON2 |
epson (deprecated) | |
gt68xx | http://www.sane-project.org/sane-backends.html#S-GT68XX |
plustek | http://www.sane-project.org/sane-backends.html#S-PLUSTEK |
mustek_usb | http://www.sane-project.org/sane-backends.html#S-MUSTEK-USB |
plustek | http://www.sane-project.org/sane-backends.html#S-PLUSTEK |
lexmark | http://www.sane-project.org/sane-backends.html#S-LEXMARK |
Skanery opisane jako obsługiwane w liście on http://www.sane-project.org/sane-backends.html powinny działać ewentualnie możliwe jest napisane własnego . dodatkowo SCANdal obsługuje sterowniki skanerów standardu Betascan 68k (http://aminet.net/search?query=betascan).
PRZETESTOWANE SKANERY
Skaner |
Sterownik | Wersja natywna | Interfejs | Uwagi |
---|---|---|---|---|
UMAX Astra 1200S | Umax.device | Y | SCSI | działa bez problemów dość szybki |
Epson 1640SU | Epson2.device | Y | USB 1.1/SCSI | działa bez problemów, szybji obsługiwane ADF i TA |
Mustek Paragon 600 II CD | mustek.device | N | SCSI | działa bez problemów dość wolny |
HP ScanJet 6300C | hp.device | N | USB 1.1/SCSI | przestaje pracować po paru skanach prawdopodobnie problem sprzętowy |
Mustek BearPaw 1200 TA | gt68xx.device | Y | USB | dość wolny, obsługiwane TA, niska jakość skanów |
Plustek S24 | gt68xx.device | Y | USB 1.1 | obsługa sprzętowej gammy, jakość poprawna |
Mustek 600 CU | mustek_usb.device | Y | USB | działa bez problemów, wymagany MorphOS 2.7, obsługiwana gamma, podgląd, threshold |
Epson Perfection 1260 Photo | plustek.device | Y | USB | obsługa TA, nie można zmienić trybu skanowania oraz wielkości obszaru skanowania |
ADF - Automatyczny podajnik papieru
TA - Przystawka do przeźroczy
Konfiguracja skanerów EPSON
- Sciągnij sterownik epson2: [1] (08.01.2011)
- Rozpakuj do dowolnego katalogu
- Dla skanerów SCSI wybierz odpowiedni sterownik urządzenia komunikacyjnego w polu Urządzenie w preferencjach (przykładowo symbios.device).
- W preferencjach SCANdala wybierz ścieżkę do pliku Epson2.device w polu Sterownik skanera
- Skopiuj plik epson2.conf do katalogu S:
- Dla skanerów SCSI pozostaw ten plik niezmieniony
#epson2.conf #usb prod_id vendor_id #usb 1208 266 scsi EPSON
- Jeśli używasz USB zakomentuj linię scsi i odkomentuj linię usb 1208 266:
#epson2.conf #usb prod_id vendor_id usb 1208 266 #scsi EPSON
Dla komunikacji przez USB musisz sprawdzić w preferencjach stosu Poseidon numery product id i vendor id (wartości dziesiętne). Wartości 1208 i 266 pokazane w przykładznie są poprawne tylko dla skanera Epson 1640SU! Dodatkowo skaner powinien być odłączony od jakiejkolwie z klas w preferencjach stosu Poseidon (unbinded) i pole Urządzenie w oknie preferencji SCANdala powinno być puste.
Konfiguracja skanerów gt68xx
- Pobierz sterownik: [2] (25.12.2010)
- Pobierz sterownik do dowolnego katalogu
- Pobierz firmware skanera i umieść go w katalogu s:gt68xx/
- Stwórz plik s:gt68xx.conf
# Autodetect Mustek BearPaw 1200 TA and Mustek BearPaw 1200 CS usb 0x055f 0x021e
Dodatkowo, skaner powinien być odłączony od jakiejkolwie z klas w preferencjach stosu Poseidon (unbinded) i pole Urządzenie w oknie preferencji SCANdala powinno być puste. Product id oraz vendor id potrzebne do wpisania w pliku konfiguracyjnym można sprawdzić w preferencjach urządzenia w oknie konfiguracyjnym USB Poseidona lub sprawdzić na stronie
http://www.meier-geinitz.de/sane/gt68xx-backend/ , z której można także pobrać rom posiadanego skanera.
Konfiguracja skanerów UMax
- Pobierz sterownik: [3]
- Skopiuj plik sterownika do dowolnego katalogu
- Stwórz/skopiuj plik konfiguracyjny s:umax.conf
- Wybierz odpowiednie urządzenie do komunikacji przez port SCSI (na przykład symbos.device) w preferencjach SCANdala w polu urządzenie oraz numer jednostki na szynie.
Jeśli twój skaner nie działa dobrze w trybie skanowania w kolorze, spróbuj zmienić wartość w linii "option scan-lines" na niższą wartość (np. 10). Sterownik został przepisany by nie używać funkcji fork() i pipe() przez co jest stabilniejsza od wersji 68k.
Konfiguracja skanerów mustek_usb
- Pobierz sterownik: [4] (20.01.2011)
- Skopiuj go do dowolnego katalogu
- Pobierz do katalogu S: plik [5]
- Wybierz w preferencjach SCANdala w polu Sterownik skanera pełną ścieżkę do pliku ze sterownikiem
Dodatkowo, skaner powinien być odłączony od jakiejkolwie z klas w preferencjach stosu Poseidon (unbinded) i pole Urządzenie w oknie preferencji SCANdala powinno być puste.
Konfiguracja skanerów plustek-usb
- Pobierz sterownik: [6] (11.01.2011)
- Skopiuj plustek-usb.device do dowolnego katalogu
- Wybierz w preferencjach SCANdala w polu Sterownik skanera pełną ścieżkę do pliku ze sterownikiem plustek-usb.device
- Skopiuj plik z konfiguracją - plustek.conf do S:
- Uzupełnij numer producenta oraz numer urządzenia w pliku konfiguracyjnym
#[usb] vendor- and product-ID [usb] 0x07B3 0x0017
Dodatkowo, skaner powinien być odłączony od jakiejkolwiek z klas w preferencjach stosu Poseidon (unbinded) i pole Urządzenie w oknie preferencji SCANdala powinno być puste.
Konfiguracja skanerów lexmark
- Pobierz sterownik: [7] (11.01.2011)
- Skopiuj lexmark.device do dowolnego katalogu
- Wybierz w preferencjach SCANdala w polu Sterownik skanera pełną ścieżkę do pliku ze sterownikiem lexmark.device
- Skopiuj plik lexmark.conf do S:
Dodatkowo, skaner powinien być odłączony od jakiejkolwiek z klas w preferencjach stosu Poseidon (unbinded) i pole Urządzenie w oknie preferencji SCANdala powinno być puste.
Konfiguracja skanerów canon630u
- Pobierz sterownik: [8] (30.11.2010)
- Skopiuj canon630u.device do dowolnego katalogu
- Wybierz w preferencjach SCANdala w polu Sterownik skanera pełną ścieżkę do pliku ze sterownikiem canon630u.device
UWAGA: TEN STEROWNIK NIE ZOSTAŁ PRZETESTOWANY
Dodatkowo, skaner powinien być odłączony od jakiejkolwiek z klas w preferencjach stosu Poseidon (unbinded) i pole Urządzenie w oknie preferencji SCANdala powinno być puste.
Autorzy
- Główny programista
- Michał 'rzookol' Żukowski
- Kontakt
- rzookol at poczta.onet.pl
- rzookol at brain.umcs.lublin.pl
- rzookol / #morphos / #ppa freenode.net
- Programowanie dodatkowe
- Gianfranco 'ShInKurO' Gignina
- Ikony
- Maciej Żukowski http://www.combinestudio.pl/