تنقسم واجهة Ink API إلى وحدات، وتتيح لك استخدام ما تحتاج إليه فقط.
السكتات الدماغية
تعمل وحدة Strokes كأساس لمكتبة الحبر، حيث توفّر واجهة برمجة تطبيقات أساسية ويحتوي على أنواع البيانات الأساسية للتفاعل مع المكتبة. تشمل أنواع البيانات الرئيسية في هذه الوحدة ما يلي:
StrokeInputBatch
: ويمثل سلسلة من إدخالات المؤشر والموضع الذي يشمل طابعًا زمنيًا والطابع الزمني الضغط والإمالة والاتجاه اختياريًا. ويمكن الاستفادة من هذه البيانات معStroke
أوInProgressStroke
وهي النوع الذي يوفر المدخلات للكتابة بخط اليد مكتبة التعريف.Stroke
: تمثيل دائم لخط نهائي بأشكال هندسية ثابتة. تتألّف الخطوط منImmutableStrokeInputBatch
(نقاط الإدخال) وBrush
(النمط) وPartitionedMesh
(شكل هندسي). يمكن تخزين الخطوط ومعالجتها وعرضها في تطبيقك.InProgressStroke
: نظير قابل للتغييرStroke
مصممة من أجل المعالجة الإضافية للمدخلات والعرض في الوقت الفعلي أثناء الرسم الدفع. وعلى الرغم من أنه غالبًا ما يتم استخدامه بشكل غير مباشر من خلالInProgressStrokesView
،InProgressStroke
ويمكن استخدامها بشكل مباشر للحصول على خيارات تخصيص متقدمة.
هندسة
وحدة هندسة توفر مجموعة من المبادئ الهندسية الأساسية والمعقدة والأشكال إلى جانب عمليات اكتشاف التقاطعات وعمليات التحويل. تتكامل هذه الأساسيات بسلاسة مع ضربات الحبر، مما يمكّنك من بناء ميزات مثل ممحاة الضغط بالكامل وأدوات تحديد التظليل.
في حين أن الصفوف مثل Box
Vec
تسهّل في المقام الأول
والعمليات الهندسية
يجوز لـ PartitionedMesh
تتضمّن أيضًا بيانات متعلّقة بالعرض
فرشاة
تعمل وحدة الأداة الملوّنة
كإعدادات توضيحية لإنشاء الخطوط وعرضها،
وتعمل بطريقة مشابهة لخط نصي. يتضمّن عنصر
Brush
الخصائص التالية:
- اللون: يمكن أن يكون لونًا واحدًا أو أساسًا للتأثيرات المتعدّدة والمواد المتعدّدة.
- المقاس: يمكن أن يكون ثابتًا أو يمكن استخدامه كأساس لتعديلات الحجم الديناميكي.
- العائلة: شبيهة بالخط الطباعي النصي، تحدد العائلة الخط الطباعي الكلي والنمط.
- Epsilon: للتحكّم في مستوى التفاصيل في هندسة المتّجه للخط، يمثّل أصغر وحدة للتمييز البصري.
تلعب السمة epsilon
دورًا مهمًا في تحديد دقة نظام الإحداثيات. مزيد من الإرشادات
في القسم واجهات برمجة تطبيقات الفرشاة حول كيفية
لاختيار قيمة إبسيلون مناسبة.
يُعدّ BrushFamily
ميزة
قوية لإنشاء خطوط تعبيرية بدون التعمّق في
الأشكال الهندسية المعقدة أو رمز العرض. توفر المكتبة مجموعة من الإعدادات المحددة مسبقًا
StockBrushes
، بما في ذلك
قلم وأقلام تمييز وأقلام تمييز حساسة للضغط.
التأليف
Authoring
تمكّن المطوّرين من التقاط مدخلات لمس المستخدم وعرضها
وقت الاستجابة المنخفض على الشاشة في الوقت الفعلي. يتم تحقيق ذلك من خلال
صف واحد (InProgressStrokesView
)
الذي يعالج أحداث الحركة ويصور الخطوط أثناء رسمها.
وبمجرد اكتمال الحد الخارجي، ترسل الوحدة إشعارًا إلى تطبيق العميل باستخدام
onStrokesFinished()
معاودة الاتصال بـ
InProgressStrokesFinishedListener
يسمح الإجراء المُعاد للتطبيق باسترداد data
الخطوط النهائية للعرض أو التخزين.
العرض
تعمل وحدة المعالجة على تبسيط عملية رسم خطوط الحبر على جهاز Android Canvas
. تقدّم الوحدة
CanvasStrokeRenderer
لميزة "الإنشاء" وViewStrokeRenderer
لتصاميم الصفحات المستندة إلى العرض، وكلاهما يُحسِّن أداء العرض ويضمن
مرئيات عالية الجودة، بما في ذلك ميزة "إزالة التمويه".
لعرض خطوط على لوحة، احصل على مثيل
CanvasStrokeRenderer
باستخدام الإجراء
create()
. بعد ذلك، استخدم دالة الرسم
draw()
لعرض الخطوط المنتهية أو قيد التقدم.
الضغط على لوحة.
يمكن تحويل اللوحة (تمريرها أو تكبيرها أو تدويرها) كجزء من رسم
الخط، ولكن للتأكّد من أنّ الخط يظهر بأفضل شكل ممكن على الشاشة، يجب أيضًا تمرير
التحويل الذي تم تطبيقه على اللوحة إلى
CanvasStrokeRenderer#draw()
.
ولتجنُّب الحاجة إلى تتبُّع ذلك بشكل منفصل، استخدِم
ViewStrokeRenderer
بدلاً من ذلك.