ব্রাশ API

Brush এপিআই আপনাকে আপনার স্ট্রোকের ভিজ্যুয়াল স্টাইল নির্ধারণের জন্য সরঞ্জাম সরবরাহ করে। আপনি বিভিন্ন রঙ, আকার এবং পরিবারের ব্রাশ তৈরি করতে পারেন যাতে বিভিন্ন ধরণের লুক পাওয়া যায়।

একটি ব্রাশ তৈরি করুন

ব্রাশ তৈরি করতে, Brush.Companion.createWithComposeColor এর মতো নামযুক্ত আর্গুমেন্ট সহ Compose Brush companion পদ্ধতি ব্যবহার করুন। এই ক্লাসটি আপনাকে নিম্নলিখিত বৈশিষ্ট্যগুলি সেট করতে দেয়:

  • family : ব্রাশের স্টাইল, টেক্সটের টাইপফেস বা ফন্টের অনুরূপ। উপলব্ধ BrushFamily মানগুলির জন্য StockBrushes দেখুন।
  • color : ব্রাশের রঙ। আপনি ColorLong ব্যবহার করে রঙ সেট করতে পারেন।
  • size : ব্রাশ দিয়ে তৈরি স্ট্রোকের সামগ্রিক বেধ।
  • epsilon : স্ট্রোক জেনারেশন জ্যামিতির জন্য দুটি বিন্দুর জন্য দৃশ্যত পৃথক দূরত্ব বিবেচনা করা উচিত এমন ক্ষুদ্রতম দূরত্ব। এপসিলন এবং স্ট্রোক পয়েন্টের অনুপাত মেমোরির খরচে আর্টিফ্যাক্ট ছাড়া স্ট্রোককে কতটা জুম করা যেতে পারে তা নিয়ন্ত্রণ করে। স্ট্রোক ইউনিটের জন্য একটি ভাল সূচনা বিন্দু হল 1 px, এবং এপসিলনের জন্য একটি ভাল সূচনা বিন্দু হল 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)

কাস্টম ব্রাশ

While StockBrushes provides a versatile set of common brushes, Ink API also offers an advanced path for creating entirely new brush behaviors for unique artistic effects or to replicate specific existing brushes for backward compatibility.

A custom BrushFamily is loaded from its serialized format. The required format is the gzipped binary encoding of the BrushFamily protocol buffer. This lets you load and use custom brush files today. Once deserialized, the custom BrushFamily can be used to create a new Brush with a specific color and size, just like any of the StockBrushes families.