Windows - Still Image

A Still Image (STI) egy programozók által felhasználható interfész a Windows-ban, mely lehetővé teszi, hogy alkalmazásokból használjunk állókép feldolgozó eszközöket, például szkennereket. Elsősorban C/C++/C# fejlesztők számára készült, de elérhető más magas szintű alkalmazásfejlesztő környezetből is. Az alábbiakban betekintést nyújtunk a rendszerbe, célunk az alapok megismertetése.
Mely platformokon érhető el?
Windows 98/ME/2000/XP operációs rendszereken használható. Nem áll rendelkezésre Windows 3.1/95 és NT 4.0 alatt.
A szolgáltatás célja
Ahhoz, hogy minél könnyebben lehessen állókép digitalizáló eszközöket használni - ilyen eszközök a különféle típusú szkennerek - az operációs rendszerbe beépítettek programozható interfészt (API). Ez tulajdonképpen egy előre megírt függvény gyűjtemény az alapvetőbb műveletek végrehajtására. Leveszi a programozók válláról a munka egy jelentős részét. A segítségnyújtáson kívül másik célja, hogy szabványosítsa a képfeldolgozást és ne készítsen minden gyártó teljes egészében más meghajtót az eszközeihez, mélyen a mag ugyanaz. Így egyúttal növekszik a rendszer általános stabilitása is.
Mely eszközöket támogatja?
  • Flatbed scanner (síkágyas szkenner). Automatikus papírbehúzóval, dia adapterrel felszerelve is.
  • Sheet-fed scanner (papírérzékelő mechanizmussal ellátott szkenner).
  • Handheld scanner (kézi szkenner).
  • Still-image digital camera (Állókép rögzítő digitális kamera).
A felsorolt típusok közül azon gyártók termékeinél használhatók a Still Image függvényei, amelyek megfelelnek az Independent Hardware Vendor (IHV) szabványnak, így megvalósult egyfajta hardverfüggetlenség.
Pull és push eszközök
Kétféle képfeldolgozó eszköz létezik: pull és push a Still Image mindkettőhöz nyújt támogatást. A pull eszközök működési folyamatának a főbb lépései a következők:
  • A felhasználó bekapcsolja a szkennert vagy digitális kamerát.
  • Egy képfeldolgozó program megfelelő menüpontjával aktivizálja az eszközt.
  • A program a Still Image API-n keresztül megkezdi az adatok beolvasását.
A legtöbb eszköz ezt az elvet követi. Most nézzük meg a push típusúak működését:
  • A felhasználó bekapcsolja a szkennert vagy digitális kamerát.
  • Az eszköz generál egy eseményt.
  • Ezt az eseményt fogadja a Still Image és elindítja a képfeldolgozó programot.
  • A program a Still Image API-n keresztül megkezdi az adatok beolvasását.
Still Image (STI) és Still image device control API
A Still image device control API az STI elődje, számos hátrányos tulajdonságot visel magán, a két legfontosabb: nem támogatja a push eszközöket és hardverfüggő. A Still image device control API felhasználásával készült programok minimális módosítással alkalmassá tehetők az STI-vel való együttműködésre és ezáltal a push és pull modellek használatára egyaránt.
Alapvető függvények
Ha készítünk egy képfeldolgozó alkalmazást, elsőkét regisztrálnunk kell a Still Image API számára. Ehhez a "IStillImage::RegisterLaunchApplication" metódust kell meghívni. A regisztrációt csak egyszer kell elvégezni a program indításánál, utána már élő marad a kapcsolatunk. A program bezárása és ismételt elindítása újfent igényli a regisztrációt. A kapcsolat bontását és a regisztráció megszüntetését az UnRegisterLaunchApplication metódussal hajthatjuk végre, ekkor felszabadulnak a lefoglalt erőforrások. A kapcsolat állapotáról az IStillImage::GetSTILaunchInformation metódus meghívásával kaphatunk információt.
A futás idejű komponenseket két csoportra oszthatjuk: Event Monitor és Control Panel. Előbbit a push modellek használják eseménygenerálásra, továbbításra és feldolgozásra, megkímélve a felhasználót néhány feladat manuális végrehajtásától. Utóbbi egy vezérlő interfészt foglal magába és az alábbi funkciókat látja el:
  • Eszközök nyilvántartása.
  • Új eszköz hozzáadása, meglévő eltávolítása - igény szerint.
  • Eszközök tesztelése.
  • Konfigurálás.
  • Vezérlés.
  • Eszköz és alkalmazás összekapcsolása.
Egyéb API-k
A legtöbb program a Still Image API használata mellett fel van készítve más függvénytárak használatára, mint például a TWAIN, ISIS vagy az Adobe System Acquire interfész. Ugyanakkor az eszközök telepítő CD lemezén megtaláljuk ezekhez a támogatást. Legnépszerűbb mind közül a TWAIN interfész.