kopia lustrzana https://gitlab.com/sane-project/website
102 wiersze
4.7 KiB
HTML
102 wiersze
4.7 KiB
HTML
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||
|
|
||
|
<html>
|
||
|
<head>
|
||
|
<title>SANE - Introduction</title>
|
||
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||
|
<meta name="author" content="Henning Meier-Geinitz">
|
||
|
<meta name="keywords" content="sane, scanner, introduction, description, overview">
|
||
|
<meta name="description" content="Introduction into SANE">
|
||
|
<link href="mailto:hmg-guest@users.alioth.debian.org" rev="made">
|
||
|
<link rel="icon" href="favicon.ico" type="image/x-icon">
|
||
|
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
|
||
|
</head>
|
||
|
|
||
|
<body bgcolor="#FFFFFF" text="#000000">
|
||
|
<center>
|
||
|
<a href="http://www.sane-project.org" target="_top"><img
|
||
|
src="images/sane.png"
|
||
|
alt="SANE" width="346" height="117" border="0"></a>
|
||
|
</center>
|
||
|
|
||
|
|
||
|
<center>
|
||
|
<h1>SANE - Introduction</h1>
|
||
|
</center>
|
||
|
|
||
|
<hr>
|
||
|
<p>
|
||
|
<em>SANE</em> stands for "Scanner Access Now Easy" and is an application
|
||
|
programming interface (API) that provides standardized access to any
|
||
|
raster image scanner hardware (flatbed scanner, hand-held scanner,
|
||
|
video- and still-cameras, frame-grabbers, etc.). The <em>SANE</em> API
|
||
|
is public domain and its discussion and development is open to
|
||
|
everybody. The current source code is written for UNIX (including
|
||
|
GNU/Linux) and is available under the GNU General Public License (the
|
||
|
<em>SANE</em> API is available to proprietary applications and backends
|
||
|
as well, however). Ports to MacOS X, OS/2 and Microsoft Windows are
|
||
|
wither already done or in progress.
|
||
|
</p>
|
||
|
|
||
|
<p>
|
||
|
<em>SANE</em> is a universal scanner interface. The value of such a
|
||
|
universal interface is that it allows writing just one driver per image
|
||
|
acquisition device rather than one driver for each device and
|
||
|
application. So, if you have three applications and four devices,
|
||
|
traditionally you'd have had to write 12 different programs. With
|
||
|
<em>SANE</em>, this number is reduced to seven: the three applications
|
||
|
plus the four drivers. Of course, the savings get even bigger as more
|
||
|
and more drivers and/or applications are added.
|
||
|
</p>
|
||
|
|
||
|
<p>
|
||
|
Not only does <em>SANE</em> reduce development time and code duplication,
|
||
|
it also raises the level at which applications can work. As such, it
|
||
|
will enable applications that were previously unheard of in the UNIX
|
||
|
world. While <em>SANE</em> is primarily targeted at a UNIX environment, the
|
||
|
standard has been carefully designed to make it possible to implement
|
||
|
the API on virtually any hardware or operating system.
|
||
|
</p>
|
||
|
|
||
|
<p>
|
||
|
While <em>SANE</em> is an acronym for “Scanner Access Now
|
||
|
Easy” the hope is of course that <em>SANE</em> is indeed sane in
|
||
|
the sense that it will allow easy implementation of the API while
|
||
|
accommodating all features required by today's scanner hardware and
|
||
|
applications. Specifically, <em>SANE</em> should be broad enough to
|
||
|
accommodate devices such as scanners, digital still and video cameras,
|
||
|
as well as virtual devices like image file filters.
|
||
|
</p>
|
||
|
|
||
|
<p>
|
||
|
If you're familiar with <a href="http://www.twain.org/">TWAIN</a>, you
|
||
|
may wonder why there is a need for <em>SANE</em>. Simply put, TWAIN
|
||
|
does not separate the user-interface from the driver of a device. This,
|
||
|
unfortunately, makes it difficult, if not impossible, to provide network
|
||
|
transparent access to image acquisition devices (which is useful if you
|
||
|
have a LAN full of machines, but scanners connected to only one or two
|
||
|
machines; it's obviously also useful for remote-controlled cameras and
|
||
|
such). It also means that any particular TWAIN driver is pretty much
|
||
|
married to a particular GUI API (be it Win32 or the Mac API). In
|
||
|
contrast, <em>SANE</em> cleanly separates device controls from their
|
||
|
representation in a user-interface. As a result, <em>SANE</em> has no
|
||
|
difficulty supporting command-line driven interfaces or
|
||
|
network-transparent scanning. For these reasons, it is unlikely that
|
||
|
there will ever be a <em>SANE</em> backend that can talk to a TWAIN
|
||
|
driver. The converse is no problem though: it is pretty straight
|
||
|
forward to access <em>SANE</em> devices through a TWAIN source. In
|
||
|
summary, if TWAIN had been just a little better designed, there would
|
||
|
have been no reason for <em>SANE</em> to exist, but things being the way
|
||
|
they are, TWAIN simply isn't <em>SANE</em>.
|
||
|
</p>
|
||
|
|
||
|
<hr>
|
||
|
|
||
|
<p>
|
||
|
<font size="-1">$Date$ $Author$</font><br>
|
||
|
<a href="/">SANE homepage</a>
|
||
|
</p>
|
||
|
|
||
|
</body>
|
||
|
</html>
|