Vergrößerungssoftware für Linux

Hier findet ihr viele allgemeine Informationen über technische Unterstützungsmöglichkeiten für sehbehinderte Linuxbenutzer und was Compiz/eZoom bzw gnome-mag zur Zeit leisten.

Allgemein

Zur Zeit gibt es nur zwei ernstzunehmende Vergrößerungshilfen unter der grafischen Oberfläche unter Linux. Die Software Gnome Magnifier (gnome-mag) und die in dem grafischen 3D Desktop Compiz integrierte Vergrößerungsfunktion und dem Plugin eZoom (enhanced Zoom).

gnome-mag

gnome-mag bietet in Verbindung mit dem Screenreader Orca eine Fokusverfolgung des Textcursors von Eingabefeldern, Buttons und Menüs, zudem ist der Mauscursor, während man mit der Maus über den Bildschirm fährt, immer zentriert. Zu den weiteren Funktionen gehören eine Mauscursor-Vergrößerung, ein einstellbarer Zoomfaktor und eine Farbinvertierung. Allerdings ist gnome-mag viel zu träge und erzeugt Grafikfehler (Artefakte) und ist derzeit nur eingeschränkt brauchbar.

Compiz Fusion mit Plugin ezoom

Eine gute Alternative ist Compiz Fusion mit dem Plugin eZoom, dass durch die Hardware gestützte Grafikbeschleunigung (mit OpenGL) sehr schnell arbeitet.

==== Kompatibilität ===

Leider gibt es einen kleinen Haken. Compiz benötigt die Grafikbeschleunigung der Grafikkarte. Wird die Beeschleunigung der Grafikkarte nicht unterstützt, so funktioniert auch Compiz nicht. Für die meisten auf intel- und AMD/ATI-Chipsätzen basierenden Grafikkarten gibt es freie Treiber und somit funktioniert die Vergrößerung ohne weitere Konfiguration, wer es testen möchte kann sich eine Ubuntu 9.04 Live CD booten und mit Hilfe der <super>-Taste (Windows-Taste) und dem Mausrad die Vergrößerung aktivieren (siehe auch: Derzeitige Funktionalität). Für die weit verbreiteten nvidia-Grafikkarten muss zunächst der Treiber vom Hersteller installiert werden, bevor die Vergrößerung funktioniert. (grafische Installation unter Ubuntu: Alt+F1 und dann im Menü System -> Sstemverwaltung -> Hardware-Treiber auswählen)

Derzeitige Funktionalität

Compiz bietet in der Grundkonfiguration eine Vergrößerung und Farbinvertierung an. Diese Tastenkombinationen sind sofort nutzbar:

Tastenkombination

Funktion

<super> + Maus_Rad_hoch-drehen

Vergrößern

<super> + Maus_Rad_runter-drehen

Verkleinern

<super> + m

alle Farben Invertieren

<super> + n

Fenster Farben Invertieren

{i} Die Windowstaste wird häufig auch als <super>-Taste bezeichnet

technischer Hintergrund: Interpolation

Allgemein

Bei der Vergrößerung des Bildschirminhaltes wird ein Abschnitt des Bildschirm genommen und auf dem gesammten Bildschirm gestreckt.

Zum besseren Verständnis hier ein Beispiel: Wir gehen von einer Bildschirmauflösung von 800 (vertikalen) und 600 horizontalen Punkten aus, also 800*600 Bildpunkten/Pixel. Wir vergrößern jetzt das Bild um den Faktor 2, hier wäre das ein Viertel des Bildschirms. Dieser Ausschnitt von 400*300 Punkte muss jetzt auf die 800*600 Pixel gestreckt werden, d.h. jedes Pixel vom Ausschnitt muss hier drei weitere Bildpunkte füllen (also ein Pixel rechts, unten und schräg rechts unten).

Lösung 1

Jetzt könnten wir die Pixel nebeneinander Zeichnen und jeweils ein Pixel frei lassen, also z.B. schwarze Pixel malen. Unser Bild würde jetzt wie durch ein Fliegengitter betrachtet aussehen. Dies würde zur subjektiven Verdunkelung des Bildes führen und die Lesbarkeit verschlechtern, umso mehr bei größeren Vergrößerungsfaktoren.

Lösung 2

Die drei zusätzlichen Pixel können auch einfach mit den Eigenschaften des Ursprungspixels gesetzt werden. Dies ist eine einfache und effektive Lösung, allerdings gibt es bei höheren Vergrößerungen sehr starke Treppeneffekte, d.h. schräge Linien sind als solche nicht mehr zu erkennen. Schriftzeichen bestehen nur noch aus Pixelblöcke. Vorteil, die Kanten der Schriftzeichen sind sehr gut zu erkennen.

Lösung 3

Verschiedene Interpolationsalgrithmen, die versuchen die Übergänge von Pixel zu Pixel möglichst "weich" zu machen. Hier werden die Punkte zwischen zwei Pixel fließend gefärbt. Bei einem schwarzen und einem weißen Pixel wären die dazwischen liegenden Punkte in unterschiedlichen Graustufen, also von dunkel nach hell (vom schwarzen zum weißen Pixel) eingefärbt. Hier gibt es Verfahren die Funktionskurven erzeugen, die als Basis auch mehrere Pixel nutzen.

So macht es Compiz/eZoom

(genaueres später)

Wer den Begriff Interpolation mathematisch korrekt wissen will, schaut bei Wikipedia nach.

Funktionen einer Vergrößerungssoftware

Farbinvertierung und -ersetzung

Beispiel

Maus Positionierung/Verfolgung und Farbanpassungen

Der vergrößerte Bildschirmausschnitt sollte stets dort vergrößern, wo sie gebraucht wird ;-) Wird die Maus bewegt ist davon auszugehen, das die Maus und die Umgebung zu vergrößern ist. Es gibt verschiedene Mausverfolgungsstrategien

  1. Der Mauszeiger bleibt stets in der Mitte des Bildschirms. Am Rand wird ein künstlicher Rahmen gezeichnet.
  2. Der Mauszeiger bleibt in der Mitte, bis der Vergrößerungsrahmen an den Rand des Bildschirms stößt, hier geht die Maus aus der Mittelpositon raus bis zum Rand
  3. Der Mauszeiger bewegt sich frei im vergrößerten Ausschnitt, bis sie an den Rand stößt, dort zieht sie den Vergrößerungsrahmen mit sich
  4. Andere Varianten der o.g. sind auch möglich

Mit der Farbanpassung ist gemeint, dass man die Farbe, Größe und evtl. auch Form des Mauszeigers verändern kann. Bei den verschiedenen Sehbehinderungen gibt es auch verschiedene Farben und Farbkombinationen die besonders gut gesehen werden können. Hier ist es folglich sinnvoll die Möglichkeit zu haben, die Farbe individuell anzupassen.

Cursor Positionierung/Verfolgung und Farbanpassungen

Hier ist mit Cursor der Text-Cursor (auch Caret) gemeint. Hier gibt es gleichartige Verfolgungsstrategien wie bei dem Mauszeiger. Gleiches gilt für Farbe und Form.

Fokusverfolgung

Neben der Maus und dem Text-Cursor gibt es noch andere Elemente die unsere Aufmerksamkeit benötigen.

Enhenced Zoom (eZoom)



Zurück zur LinAccess Startseite
Anfang der Seite

LinAccess/Projekte/Compiz-eZoom (zuletzt geändert am 2009-07-18 09:11:59 durch Lars Stetten)