توفّر لك واجهات برمجة التطبيقات Brush الأدوات اللازمة لتحديد النمط المرئي لضربات الفرشاة. يمكنك إنشاء فُرش بألوان وأحجام وأنواع مختلفة للحصول على مجموعة متنوعة من المظاهر.
إنشاء فرشاة
لإنشاء فرشاة، استخدِم طرق Compose Brush
المساعدة مع وسيطات مسمّاة، مثل
Brush.Companion.createWithComposeColor.
يتيح لك هذا الصف ضبط الخصائص التالية:
family: نمط الفرشاة، وهو مشابه لنمط الخط أو الخط في النص. راجِعStockBrushesللاطّلاع على قيمBrushFamilyالمتاحة.-
color: تمثّل هذه السمة لون الفرشاة. يمكنك ضبط اللون باستخدامColorLong. size: يشير إلى السمك الإجمالي للخطوط التي تم إنشاؤها باستخدام الفرشاة.epsilon: هي أصغر مسافة يجب اعتبارها بين نقطتَين مختلفتَين بصريًا لأغراض إنشاء أشكال هندسية للخطوط. تتحكّم نسبة إبسيلون إلى نقاط ضربات الفرشاة في مقدار التكبير الذي يمكن تطبيقه على ضربة الفرشاة بدون ظهور تشوّهات، وذلك على حساب الذاكرة. نقطة البداية الجيدة لوحدات ضربات الفرشاة هي 1 بكسل، ونقطة البداية الجيدة لقيمة إبسيلون هي 0.1. تستهلك قيم إبسيلون الأعلى مقدارًا أقل من الذاكرة، ولكنها تسمح بتصغير أقل قبل ظهور تشوّهات المثلثات. جرِّب قيمًا مختلفة للعثور على القيمة المناسبة لحالة الاستخدام.
val brush = Brush.createWithComposeColor(
family = StockBrushes.pressure(),
colorIntArgb = Color.Black,
size = 5F,
epsilon = 0.1F
)
تعديل خصائص الفرشاة
يمكنك إنشاء نسخة من فرشاة حالية باستخدام طريقة copyWithComposeColor()، ما يتيح لك تغيير أي من خصائص الفرشاة.
val redBrush = Brush.createWithComposeColor(
family = StockBrushes.pressurePen(),
colorIntArgb = Color.RED,
size = 5F,
epsilon = 0.1F
)
val blueBrush = redBrush.copyWithComposeColor(color = Color.BLUE)
فُرش مخصّصة
في حين أنّ StockBrushes يوفّر مجموعة متعدّدة الاستخدامات من الفُرش الشائعة، تتيح Ink API أيضًا مسارًا متقدّمًا لإنشاء سلوكيات فُرش جديدة تمامًا للحصول على تأثيرات فنية فريدة أو لتكرار فُرش حالية معيّنة من أجل التوافق مع الإصدارات القديمة.
يتم تحميل BrushFamily مخصّص من تنسيقه المتسلسل. التنسيق المطلوب هو الترميز الثنائي المضغوط بتنسيق gzip لمخزن بروتوكولات BrushFamily. يتيح لك ذلك تحميل ملفات الفرش المخصّصة واستخدامها اليوم. بعد إلغاء التسلسل، يمكن استخدام BrushFamily المخصّص لإنشاء Brush جديد بلون وحجم محدّدين، تمامًا مثل أي من عائلات StockBrushes.