GEGL- GEGL

GEGL
GEGL Logo.svg
Erstveröffentlichung 2000 ; Vor 21 Jahren ( 2000 )
Stabile Version
0.4.30  Bearbeiten Sie dies auf Wikidata / 27. März 2021 ; Vor 2 Monaten ( 27. März 2021 )
Repository Bearbeite dies bei Wikidata
Geschrieben in C
Betriebssystem Plattformübergreifend
Art Bildverarbeitung Bibliothek
Lizenz GNU Lesser General Public License
Webseite www .gegl .org Bearbeite dies bei Wikidata

Die Generic Graphics Library ( GEGL ) ist eine in Entwicklung befindliche Programmierbibliothek für Bildverarbeitungsanwendungen . Es wurde hauptsächlich für GIMP entwickelt, um Bilder mit höherer Bittiefe und zerstörungsfreie Bearbeitung zu unterstützen . Es wurde teilweise in GIMP 2.6 implementiert, weitere in 2.8 hinzugefügt und ist jetzt ein zentraler Bestandteil in 2.10. Viele Filter sind fertig, aber auch viel in Arbeit. Ziel ist die volle Unterstützung aller wichtigen Filter in der Roadmap in Version 3.0. Es wird auch von GNOMEs Photos und gedl verwendet .

Design

GEGL wird nach einem modellierten gerichteten azyklischen Graphen , wobei jeder Knoten ein Bild repräsentiert Operation (genannt „Operatoren“ oder „ops“) und jede Kante stellt ein Bild . Operationen können im Allgemeinen mehrere Eingabebilder aufnehmen und mehrere Ausgabebilder liefern, was dem Vorhandensein mehrerer eingehender Kanten (Bilder) und mehrerer ausgehender Kanten (Bilder) an einem gegebenen Knoten (Operation) entspricht. Das System verwendet ein On-Demand-Modell, das nur nach Bedarf arbeitet. Dies ermöglicht Funktionen wie eine sehr schnelle Vorschau während der Bearbeitung, und sobald der Benutzer die Änderungen vorgenommen hat, wiederholt GEGL die gleichen Vorgänge in voller Auflösung für das endgültige Bild im Hintergrund.

Betrieb

Eine Operation (op) ist ein Knoten innerhalb eines GEGL-Graphen, der für eine Aktion verantwortlich ist; Operationen können sein:

  • einfach, wie "add" (mit zwei Eingaben) oder "premultiply by alpha" (mit einer Eingabe)
  • komplex, wie Farbraumkonvertierungen

GEGL hat auch eine Vorstellung von Metaoperationen, bei denen eine Operation aus anderen Operationen konstruiert werden kann (zB Unscharfmaske ist eine Kombination aus Addier- , Multiplikations- , Subtraktions- und Gaußschen Unschärfeoperationen ).

babl

babl, eine Unterstützungsbibliothek für GEGL, bietet eine generische Möglichkeit, mit Farbraumkonvertierungen umzugehen ; babl arbeitet so, dass die grundlegenden Farboperationen abstrahiert werden, sodass GEGL diese nicht kennen muss. GEGL bietet mit babl eine optimierte und leistungsfähige (optional mit SIMD- Unterstützung) Behandlung beliebiger Farbdaten ; Dadurch können abhängige Anwendungen effizient eine breite Palette von Farbräumen (von 8-Bit- RGB bis hin zu Full- Floating-Point- CMYK ) mit minimalem zusätzlichem Anwendungscode unterstützen.

OpenRaster

OpenRaster ist ein XML- Dateiformat zum Speichern von Rastergrafiken . Der leitende Entwickler von GEGL, Øyvind Kolås, hat dabei geholfen, OpenRaster so zu spezifizieren, dass es einen GEGL-Graphen speichern kann.

Geschichte

Historisch gesehen ist das GEGL-Maskottchen ein GNOME- Osterei , eine fünfbeinige Ziege. (Genetisch konstruierte Ziege, groß)

GEGL wurde ursprünglich im Jahr 2000 von den Softwareingenieuren von Rhythm & Hues als Ersatz für den GIMP-Kern konzipiert , schließlich wurde die externe API 2006 als stabil genug erachtet und in der Lage, den GIMP-Kern zu ersetzen. Am 20. Dezember 2007 wurde es der Entwicklungsversion von GIMP hinzugefügt. Einige der GIMP-Tools wurden bereits auf GEGL-Operationen umgestellt; Meist wurden Werkzeuge konvertiert, die Farben, Helligkeit oder Kontrast ändern.

Version 0.2.0 ist Teil von Gimp 2.8.xy und Serie 0.3.xy ist Teil von 2.9.x und in 2.10.0 Release Candidates. 0.4.0 ist die erste Version für Version 2.10.0 von Gimp. Die aktuelle Version 0.4.xy ist auch die Basis der Entwicklungsversion 2.99.x für die stabile 3.0-Serie von Gimp. 0.5 (oder höher wie 1.0) ist die Linie der 3.0 stabilen Serie.

Ab der instabilen 2.9.x-Serie basiert der gesamte Kern von GIMP auf GEGL, und fast die Hälfte der Filter wurde durch GEGL-Operationen ersetzt. Ziel sind 100 % der Canvas-Filter in GEGL in 2.10 und höher.

Historisch gesehen fand das GEGL-Maskottchen, eine fünfbeinige Ziege von George (Jiří) Lebl, das Leben als Osterei in GNOME- Desktops.

OpenCL

Einige der Operationen von GEGL sind in einer OpenCL-basierten hardwarebeschleunigten Version verfügbar. Eine Drittpartei namens GEGL-OpenCL zur Konvertierung weiterer Operationen auf OpenCL wurde 2016 von Stream HPC gestartet. Das Projekt stagnierte ab Mai 2017, wurde aber im Sommer 2019 wiederbelebt.

Verweise

Externe Links