هذه هي مكتبة الرسومات الأساسية لجميع شاشات العرض الخاصة بنا ، حيث توفر مجموعة شائعة من بدايات الرسومات (النقاط ، الخطوط ، الدوائر ، إلخ). يجب إقرانها بمكتبة خاصة بالأجهزة لكل جهاز عرض نحمله (للتعامل مع وظائف المستوى الأدنى).
يستثمر Adafruit الوقت والموارد التي توفر هذا الرمز المفتوح المصدر ، يرجى دعم Adafruit والأجهزة المفتوحة المصدر عن طريق شراء المنتجات من Adafruit!
كتبه ليمور المقلي/ليديادا لصناعات Adafruit. ترخيص BSD ، تحقق من الترخيص. txt لمزيد من المعلومات. يجب تضمين جميع النص أعلاه في أي إعادة توزيع.
تشمل إصدارات Arduino IDE الحديثة مدير المكتبة لسهولة التثبيت. خلاف ذلك ، لتنزيل ، انقر فوق زر تنزيل zip ، وقم بضغط وإعادة تسمية المجلد غير المضغوط ADAFRUIT_GFX. تأكد من أن مجلد ADAFRUIT_GFX يحتوي على ADAFRUIT_GFX.CPP و ADAFRUIT_GFX.H. ضع مجلد مكتبة ADAFRUIT_GFX الخاص بك ARDUINOSKETCHETROLDER/ مكتبات/ مجلد. قد تحتاج إلى إنشاء المجلد الفرعي للمكتبات إذا كانت مكتبتك الأولى. أعد تشغيل IDE.
ستحتاج أيضًا إلى تثبيت أحدث مكتبة Adafruit Busio. ابحث عن "Adafruit Busio" في مدير المكتبة ، أو التثبيت يدويًا من https://github.com/adafruit/adafruit_busio
Image2Code: هذه أداة مساعدة في Java Gui مفيدة لتحويل ملف BMP إلى رمز الصفيف اللازم لعرض الصورة باستخدام وظيفة DrawBitMap. تحقق من الرمز في مستودع GitHub Ehubin: https://github.com/ehubin/adafruit-gfx-library/tree/master/img2code
دالة DrawXBitMap: يمكنك استخدام محرر صور GIMP لحفظ ملف .xbm واستخدام الصفيف المحفوظ في الملف لرسم صورة نقطية باستخدام وظيفة DrawXbitMap. انظر طلب السحب هنا لمزيد من التفاصيل: #31
يحتوي مجلد "Fonts" على خطوط Bitmap للاستخدام مع ADAFRUIT_GFX مؤخرًا (1.1 وما بعدها). لاستخدام خط في رسم Arduino الخاص بك ، #include ملف .H المقابل وعنوان تمرير GFXFont Struct إلى setFont (). تمرير NULL للعودة إلى خط النقطة النقطية "الكلاسيكية".
يحتوي مجلد "FontConvert" على أداة سطر الأوامر لتحويل خطوط TTF إلى تنسيق رأس Adafruit_Gfx.
يمكنك أيضًا استخدام أداة Customiser GFX Font ( إصدار الويب هنا ) لتخصيص أو تصحيح الإخراج من FontConvert ، وإنشاء خطوط مع مجموعة فرعية فقط من الأحرف لتحسين الحجم.
يتمثل التوجيه الرئيسي في الحفاظ على التوافق المتخلف مع رسومات Arduino الحالية - يتم استضافة العديد منها في مكان آخر ولا تتبع التغييرات هنا ، بعضها في الطباعة ولا يمكن تغييره أبدًا! نمت هذه المكتبة "الصغيرة" عضويا مع مرور الوقت وأحيانًا نرسم أنفسنا في زاوية تصميم وعلينا فقط أن نتعايش معها أو تضيف بشكل تدريجي أكثر من حلول غير محدودة.
نحن ممتنون لمساهمات الجميع ، ولكن لن يتم دمج طلبات سحب ما يلي:
تنسيقات الخطوط الإضافية أو غير المتوافقة (انظر التوجيه الرئيسي أعلاه). يوجد بالفعل تنسيقان والرمز متضخم تمامًا كما هو. هذا يخلق أيضا الالتزامات للأدوات والوثائق. ما هو ليس مثاليًا ولكنه يقوم بالمهمة.
تنسيقات نقطية إضافية أو غير متوافقة ، لأسباب مماثلة. انها تصبح فوضوية.
إضافة لون الخلفية إلى الخطوط المخصصة لمحو محتويات الشاشة السابقة. الأساليب الوحيدة المقبولة هي مسح المنطقة بمستقيم مملوء ، أو (لتجنب وميض) رسم النص في GFXCanvas1 ونسخه إلى الشاشة باستخدام لون الخلفية مع DrawBitMap (). هذا عن قصد وتصميم. لقد ناقشنا هذا. يمكن أن تتداخل الحروف الرسومية.
التمرير ، سواء كان ذلك على الأجهزة أو البرمجيات. تميل هذه التطبيقات إلى الاعتماد على ميزات خاصة بالأجهزة (غير متوفرة عالميًا) ، وقراءة الوصول إلى إطار الشاشة (DITTO) و/أو إضافة الوظائف الافتراضية في GFX والتي يجب إضافتها في كل فئة فرعية ، هناك الكثير منها. يتم "مجموعة" GFX API إلى حد كبير في هذه المرحلة وهذا مجرد قيود نعيش معها الآن.
يرجى عدم إعادة تنسيق قانون من أجل قانون إعادة التهيئة. يجعل "الاختلاف البصري" الكبير الناتج من المستحيل فك إصلاحات الأخطاء الفعلية من الخطوط المعاد ترتيبها فقط. سيكون Clang-Format هو الحكم النهائي.
من فضلك لا مزيد من PRS-DRAWING PRS. يمكن لأي وظائف رسم محددة بشكل غريب أن تسير في الكود الخاص بك ولا مفيدة في سياق المكتبة.
إذا كان يجب أن يكون لديك إحدى هذه الميزات ، ففكر في إنشاء شوكة مع الميزات المطلوبة لمشروعك ... من السهل الحفاظ على المزامنة مع رمز المنبع.