# جي اي جي أل

مكتبة الرسومات العامة ( GEGL ) هي مكتبة برمجة قيد التطوير لتطبيقات معالجة الصور. تم تطويره بشكل أساسي لـ برنامج جنو لمعالجة الصور من أجل إضافة دعم للصور ذات العمق الأعلى ، والتحرير غير المدمر . تم تنفيذه جزئيًا في GIMP 2.6 ، مع إضافة المزيد في 2.8 ، تستخدم مباشرة في 2.10. يتم استخدامه أيضًا بواسطة صور جنوم وgedl .

## نبذة

على غرار GEGL بعد الرسم البياني احلقي الموجهة ، حيث تمثل كل عقدة عملية صورة (تسمى «المشغلين» أو «مكتب خدمات المشاريع»)، ويمثل كل حافة صورة. يمكن للعمليات بشكل عام التقاط عدة صور إدخال وإعطاء العديد من صور الإخراج ، والتي تتوافق مع وجود العديد من الحواف الواردة (الصور) والعديد من الحواف الصادرة (الصور) في عقدة معينة (عملية). يستخدم النظام نموذجًا عند الطلب ، ويقوم بالعمل حسب الحاجة فقط. يتيح ذلك ميزات مثل إجراء معاينات سريعة جدًا أثناء التحرير ، وبمجرد انتهاء المستخدم من إجراء التغييرات ، سيكرر GEGL نفس العمليات بدقة كاملة للصورة النهائية في الخلفية.

## عمليات

العملية (العملية) هي عقدة ضمن رسم بياني GEGL مسؤولة عن إجراء واحد ؛ يمكن أن تكون العمليات:
* بسيط ، مثل "add" (أخذ مدخلين) أو "premultiply by alpha" (أخذ إدخال واحد)
* معقدة ، مثل تحويلات مساحة الألوان
لديها GEGL أيضا مفهوم العمليات الفوقية، حيث عملية واحدة يمكن بناؤها من العمليات الأخرى (مثل unsharp قناع هو مزيج من إضافة، تتضاعف، وطرح والتقاط التمويه الضبابي).

## بابل

توفر مكتبة بابل، وهي مكتبة دعم لـ GEGL ، طريقة عامة للتعامل مع تحويلات مساحة اللون ؛ تعمل بابل على تجريد عمليات الألوان الأساسية حتى لا تكون GEGL على دراية بها. من خلال بابل، توفر GEGL معالجة محسّنة وفعالة (اختياريًا مع دعم SIMD ) لبيانات الألوان العشوائية ؛ يتيح ذلك للتطبيقات التابعة دعم نطاق واسع من مساحات الألوان بكفاءة (من 8 بت RGB إلى CMYK كامل النقطة العائمة ) مع الحد الأدنى من كود التطبيق الإضافي.

## OpenRaster

OpenRaster هو تنسيق ملف لغة الترميز القابلة للامتداد يستخدم لحفظ الرسومات النقطية . ساعد مطور GEGL الرئيسي Øyvind Kolås في تحديد OpenRaster بحيث يكون قادرًا على حفظ رسم بياني GEGL.

## تاريخ

تم تصميم GEGL في الأصل كبديل لـ GIMP الأساسي في عام 2000 من قبل مهندسي برامج Rhythm &amp; Hues ، وأخيراً في عام 2006 ، تم اعتبار واجهة برمجة التطبيقات الخارجية مستقرة بدرجة كافية وقادرة على استبدال جوهر GIMP. في 20 ديسمبر 2007 ، تمت إضافته إلى نسخة التطوير من GIMP. تم بالفعل تحويل بعض أدوات GIMP إلى عمليات GEGL ؛ في الغالب تم تحويل الأدوات التي تعدل الألوان أو السطوع أو التباين.
الإصدار 0.2.0 جزء من Gimp 2.8.xx و Series 0.3.xx جزء من 2.9.x وفي 2.10.0 إصدار المرشحين. 0.4.0 هو الإصدار الأول للإصدار 2.10.0 من برنامج Gimp. 0.5 (أو أعلى مثل 1.0) سيكون خط 3.0 سلسلة مستقرة.
اعتبارًا من سلسلة 2.9.x غير المستقرة ، تعتمد كل نواة GIMP على GEGL ، وتم استبدال نصف الفلاتر تقريبًا بعمليات GEGL. الهدف هو 100٪ من الفلاتر في GEGL في 2.10 والإصدارات الأحدث.
تاريخياً ، تميمة GEGL ، وهي عنزة ذات خمسة أرجل ابتكرها جورج (جيري) ليبل ، وجدت الحياة كبيضة عيد الفصح في أجهزة سطح مكتب جنوم.

## OpenCL

تتوفر بعض عمليات GEGL في إصدار تسريع الأجهزة المستند إلى OpenCL. بدأ جهد طرف ثالث ، يسمى GEGL-OpenCL ، لتحويل المزيد من العمليات إلى OpenCL بواسطة Stream HPC في عام 2016. كان المشروع راكدًا اعتبارًا من مايو 2017 ، ولكن تم إحياؤه في صيف عام 2019.

## مراجع

* ↑ وصلة مرجع: https://blogs.gnome.org/engagement/2018/01/22/gegl/.
* ↑ "GIMP 2.6 Release". مؤرشف من الأصل في 2021-01-25. اطلع عليه بتاريخ 2008-10-01.
* ↑ "Gimp 2.10 announcement on Google+". مؤرشف من الأصل في 2019-09-11. اطلع عليه بتاريخ 2012-03-15.
* ↑ babl website نسخة محفوظة 2021-03-28 على موقع واي باك مشين.
* ↑ George (Jiří) Lebl (16 ديسمبر 2007). "Stuff of Jiří Lebl (or George)". مؤرشف من الأصل في 2020-12-03. اطلع عليه بتاريخ 2008-03-21. I'm a big supporter of free software and if I do work on free software it is mostly on GNOME.
* ↑ Christian and Steve (2 فبراير 2002). "GNOME Summary - 2002-01-20 - 2002-02-02". GNOME Developer News. مؤرشف من الأصل في 2009-04-18. اطلع عليه بتاريخ 2008-03-19. Up to this point this game has been considered just another Urban Legend by the summary editors, but no more.
* ↑ GitHub - OpenCL/GEGL-OpenCL: Gimp-GEGL is the first official OpenCL Porting Project of نسخة محفوظة 2021-02-24 على موقع واي باك مشين.
* ↑ StreamComputing launches GEGL-OpenCL project - GIMP نسخة محفوظة 2021-01-23 على موقع واي باك مشين.