মাল্টি-ডেনসিটি ভেক্টর গ্রাফিক্স যোগ করুন

অ্যান্ড্রয়েড স্টুডিওতে ভেক্টর অ্যাসেট স্টুডিও নামে একটি টুল রয়েছে যা আপনাকে ম্যাটেরিয়াল আইকন যোগ করতে এবং স্কেলেবল ভেক্টর গ্রাফিক (SVG) ও অ্যাডোবি ফটোশপ ডকুমেন্ট (PSD) ফাইলগুলোকে আপনার প্রোজেক্টে ভেক্টর ড্রয়েবল রিসোর্স হিসেবে ইম্পোর্ট করতে সাহায্য করে। বিটম্যাপের পরিবর্তে ভেক্টর ড্রয়েবল ব্যবহার করলে আপনার APK ফাইলের সাইজ কমে যায়, কারণ ছবির গুণমান নষ্ট না করেই একই ফাইলকে বিভিন্ন স্ক্রিন ডেনসিটির জন্য রিসাইজ করা যায়। অ্যান্ড্রয়েডের পুরোনো সংস্করণগুলোর জন্য, যেগুলো ভেক্টর ড্রয়েবল সাপোর্ট করে না, ভেক্টর অ্যাসেট স্টুডিও বিল্ড করার সময় আপনার ভেক্টর ড্রয়েবলগুলোকে প্রতিটি স্ক্রিন ডেনসিটির জন্য বিভিন্ন আকারের বিটম্যাপে রূপান্তর করতে পারে।

ভেক্টর অ্যাসেট স্টুডিও সম্পর্কে

ভেক্টর অ্যাসেট স্টুডিও প্রজেক্টে একটি ভেক্টর গ্রাফিককে XML ফাইল হিসেবে যুক্ত করে, যা ছবিটির বর্ণনা দেয়। বিভিন্ন রেজোলিউশনের একাধিক রাস্টার গ্রাফিক আপডেট করার চেয়ে একটিমাত্র XML ফাইল রক্ষণাবেক্ষণ করা সহজ হতে পারে।

Jetpack Compose-এর সাথে ভেক্টর ড্রয়েবল ব্যবহার করতে হলে, আপনাকে সর্বনিম্ন API লেভেল Android 5.0 (API লেভেল 21) বা তার চেয়ে উচ্চতর সংস্করণে সেট করতে হবে।

অ্যান্ড্রয়েড ৪.৪ (এপিআই লেভেল ২০) এবং এর নিচের সংস্করণগুলো ভেক্টর ড্রয়েবল সমর্থন করে না। যদি আপনার সর্বনিম্ন এপিআই লেভেল এই স্তরগুলোর কোনো একটিতে সেট করা থাকে, তাহলে ভেক্টর অ্যাসেট স্টুডিও ব্যবহার করার সময় আপনার কাছে দুটি বিকল্প থাকে: পোর্টেবল নেটওয়ার্ক গ্রাফিক (পিএনজি) ফাইল তৈরি করা (যা ডিফল্ট) অথবা অ্যান্ড্রয়েডএক্স-এর ব্যাকওয়ার্ড কম্প্যাটিবিলিটি কৌশলটি ব্যবহার করা।

পূর্ববর্তী সংস্করণের সাথে সামঞ্জস্যতা বজায় রাখার জন্য, ভেক্টর অ্যাসেট স্টুডিও ভেক্টর ড্রয়েবলের রাস্টার ইমেজ তৈরি করে। ভেক্টর এবং রাস্টার ড্রয়েবলগুলো APK-তে একসাথে প্যাকেজ করা থাকে। আপনি কোটলিন কোডে Drawable অথবা এক্সএমএল কোডে @drawable হিসেবে ভেক্টর ড্রয়েবলগুলোকে উল্লেখ করতে পারেন; যখন আপনার অ্যাপটি রান করে, তখন এপিআই লেভেলের উপর নির্ভর করে সংশ্লিষ্ট ভেক্টর বা রাস্টার ইমেজটি স্বয়ংক্রিয়ভাবে প্রদর্শিত হয়।

আপনি যদি শুধুমাত্র ভেক্টর ড্রয়েবল ব্যবহার করতে চান, তাহলে আপনি AndroidX 1.0.0 বা তার উচ্চতর সংস্করণ ব্যবহার করতে পারেন। এই পদ্ধতির জন্য Vector Asset Studio চালানোর আগে আপনার build.gradle ফাইলে একটি পরিবর্তন আনতে হবে, যেমনটি AndroidX- এ বর্ণনা করা হয়েছে। AndroidX-এর VectorDrawableCompat ক্লাসটি আপনাকে Android 2.1 (API লেভেল 7) এবং তার উচ্চতর সংস্করণে VectorDrawable সমর্থন করতে দেয়।

সমর্থিত ভেক্টর গ্রাফিক প্রকার

গুগল ম্যাটেরিয়াল ডিজাইন স্পেসিফিকেশন ম্যাটেরিয়াল আইকন সরবরাহ করে যা আপনি আপনার অ্যান্ড্রয়েড অ্যাপে ব্যবহার করতে পারেন। ভেক্টর অ্যাসেট স্টুডিও আপনাকে ম্যাটেরিয়াল আইকন বাছাই, ইম্পোর্ট ও আকার নির্ধারণ করতে সাহায্য করে, সেইসাথে এর অপাসিটি এবং ডান থেকে বাম (RTL) মিররিং সেটিংও ঠিক করে দেয়।

ভেক্টর অ্যাসেট স্টুডিও আপনাকে আপনার নিজের SVG এবং PSD ফাইল ইম্পোর্ট করার সুযোগও দেয়। SVG হলো ওয়ার্ল্ড ওয়াইড ওয়েব কনসোর্টিয়াম (W3C)-এর একটি XML-ভিত্তিক উন্মুক্ত স্ট্যান্ডার্ড। PSD ফাইল ফরম্যাটটি অ্যাডোবি ফটোশপের ফিচারগুলো সমর্থন করে। ভেক্টর অ্যাসেট স্টুডিও অপরিহার্য স্ট্যান্ডার্ডগুলো সমর্থন করে, কিন্তু সব SVG এবং PSD ফিচার সমর্থন করে না। আপনি যখন একটি SVG বা PSD ফাইল নির্দিষ্ট করেন, তখন ভেক্টর অ্যাসেট স্টুডিও গ্রাফিক্স কোডটি সমর্থিত কি না সে সম্পর্কে তাৎক্ষণিক প্রতিক্রিয়া জানায়। এটি ফাইলটিকে VectorDrawable কোড সম্বলিত একটি XML ফাইলে রূপান্তর করে। আপনি যদি কোনো ত্রুটি পান, তবে আপনার ভেক্টর ড্রয়েবলটি প্রত্যাশিতভাবে প্রদর্শিত হচ্ছে কি না তা যাচাই করে নেওয়া উচিত। অনুমোদিত PSD ফিচারগুলো সম্পর্কে আরও তথ্যের জন্য, "PSD ফাইলের জন্য সমর্থন এবং সীমাবদ্ধতা" দেখুন।

Android 5.0 (API লেভেল 21) এবং তার উপরের সংস্করণগুলির জন্য, আপনি VectorDrawable ক্লাসের প্রোপার্টিগুলিকে অ্যানিমেট করতে AnimatedVectorDrawable ক্লাসটি ব্যবহার করতে পারেন। AndroidX-এর সাথে, Android 3.0 (API লেভেল 11) এবং তার উপরের সংস্করণগুলির জন্য, আপনি VectorDrawable ক্লাসকে অ্যানিমেট করতে AnimatedVectorDrawableCompat ক্লাসটি ব্যবহার করতে পারেন। আরও তথ্যের জন্য, Compose-এ অ্যানিমেটেড ভেক্টর ইমেজ দেখুন।

SVG এবং PSD ফাইলের জন্য বিবেচ্য বিষয়সমূহ

সাধারণ আইকনের জন্য ভেক্টর ড্রয়েবল উপযুক্ত। ম্যাটেরিয়াল আইকনগুলো এমন ধরনের ছবির ভালো উদাহরণ যা একটি অ্যাপে ভেক্টর ড্রয়েবল হিসেবে ভালোভাবে কাজ করে। এর বিপরীতে, অনেক অ্যাপ লঞ্চ আইকনে প্রচুর খুঁটিনাটি থাকে, তাই সেগুলো রাস্টার ইমেজ হিসেবে বেশি ভালো কাজ করে।

একটি ভেক্টর ড্রয়েবল প্রাথমিকভাবে লোড করতে সংশ্লিষ্ট রাস্টার ইমেজের চেয়ে বেশি সিপিইউ সাইকেল লাগতে পারে। এরপর, উভয়ের ক্ষেত্রে মেমরি ব্যবহার এবং পারফরম্যান্স প্রায় একই রকম থাকে। আমরা পরামর্শ দিই যে আপনি একটি ভেক্টর ইমেজের আকার সর্বোচ্চ 200 x 200 dp-এর মধ্যে সীমাবদ্ধ রাখুন; অন্যথায়, এটি আঁকতে অনেক বেশি সময় লাগতে পারে।

যদিও ভেক্টর ড্রয়েবল এক বা একাধিক রঙ সমর্থন করে, অনেক ক্ষেত্রে আইকনগুলোকে কালো রঙ করাই ( android:fillColor="#FF000000" ) যুক্তিযুক্ত। এই পদ্ধতি ব্যবহার করে, আপনি লেআউটে রাখা ভেক্টর ড্রয়েবলে একটি টিন্ট যোগ করতে পারেন এবং আইকনের রঙটি টিন্টের রঙে পরিবর্তিত হয়ে যায়। যদি আইকনের রঙ কালো না হয়, তবে আইকনের রঙটি টিন্টের রঙের সাথে মিশে যেতে পারে।

ভেক্টর ড্রয়েবল পশ্চাৎ-সামঞ্জস্য সমাধান

নিম্নলিখিত সারণিতে পশ্চাৎ সামঞ্জস্যের জন্য ব্যবহারযোগ্য দুটি কৌশল সংক্ষেপে তুলে ধরা হলো:

কৌশল APK-তে ড্রয়েবল ভেক্টরড্রয়েবল এক্সএমএল উপাদান সংস্করণ ফ্ল্যাগ তৈরি করুন অ্যাপ কোড
পিএনজি প্রজন্ম ভেক্টর এবং রাস্টার উপসেট সমর্থিত

SVG: Gradle 1.5.0 বা উচ্চতর সংস্করণের জন্য অ্যান্ড্রয়েড প্লাগইন

PSD: অ্যান্ড্রয়েড স্টুডিও ২.২ বা উচ্চতর সংস্করণ

ডিফল্ট বিভিন্ন ধরণের কোডিং কৌশল সমর্থিত
AndroidX 1.0 বা উচ্চতর ভেক্টর পূর্ণ সমর্থন Gradle 3.2 বা তার উচ্চতর সংস্করণের জন্য অ্যান্ড্রয়েড প্লাগইন লাইব্রেরির বিবৃতি সমর্থন করা প্রয়োজন সমর্থিত কোডিং কৌশলগুলির উপসেট

ভেক্টর ড্রয়েবল ব্যবহার করলে ছোট আকারের APK তৈরি হতে পারে, কিন্তু এগুলোর প্রাথমিক লোড হতে বেশি সময় লাগতে পারে।

পিএনজি প্রজন্ম

অ্যান্ড্রয়েড ৫.০ (এপিআই লেভেল ২১) এবং এর উচ্চতর সংস্করণ ভেক্টর ড্রয়েবল সাপোর্ট প্রদান করে। যদি আপনার অ্যাপের সর্বনিম্ন এপিআই লেভেল এর চেয়ে কম হয়, তাহলে ভেক্টর অ্যাসেট স্টুডিও আপনার প্রজেক্টে ভেক্টর ড্রয়েবল ফাইলটি যুক্ত করে দেয়; এছাড়াও, বিল্ড করার সময় গ্রেডল বিভিন্ন রেজোলিউশনে পিএনজি রাস্টার ইমেজ তৈরি করে। গ্রেডল একটি build.gradle ফাইলে থাকা ডোমেইন স্পেসিফিক ল্যাঙ্গুয়েজ (DSL) generatedDensities প্রপার্টি দ্বারা নির্দিষ্ট করা পিএনজি ডেনসিটিগুলো জেনারেট করে।

অ্যান্ড্রয়েড ৫.০ (এপিআই লেভেল ২১) এবং তার পরবর্তী সংস্করণগুলোর জন্য, ভেক্টর অ্যাসেট স্টুডিও সমস্ত VectorDrawable এলিমেন্ট সমর্থন করে। অ্যান্ড্রয়েড ৪.৪ (এপিআই লেভেল ২০) এবং তার পূর্ববর্তী সংস্করণগুলোর সাথে সামঞ্জস্য রক্ষার জন্য, ভেক্টর অ্যাসেট স্টুডিও নিম্নলিখিত এক্সএমএল এলিমেন্টগুলো সমর্থন করে:

<vector>

  • android:width
  • android:height
  • android:viewportWidth
  • android:viewportHeight
  • android:alpha

<group>

  • android:rotation
  • android:pivotX
  • android:pivotY
  • android:scaleX
  • android:scaleY
  • android:translateX
  • android:translateY

<path>

  • android:pathData
  • android:fillColor
  • android:strokeColor
  • android:strokeWidth
  • android:strokeAlpha
  • android:fillAlpha
  • android:strokeLineCap
  • android:strokeLineJoin
  • android:strokeMiterLimit

ভেক্টর অ্যাসেট স্টুডিও যে XML কোড তৈরি করে, তা আপনি পরিবর্তন করতে পারেন, যদিও এটি একটি উত্তম অভ্যাস নয়। কোডের মানগুলো পরিবর্তন করলে কোনো সমস্যা হওয়ার কথা নয়, যতক্ষণ পর্যন্ত সেগুলো বৈধ এবং স্থির থাকে। আপনি যদি XML এলিমেন্ট যোগ করতে চান, তবে আপনাকে নিশ্চিত করতে হবে যে সেগুলো আপনার সর্বনিম্ন API লেভেল অনুযায়ী সমর্থিত।

অ্যান্ড্রয়েডএক্স

এই পদ্ধতির জন্য AndroidX 1.0 বা তার উচ্চতর সংস্করণ এবং Android Plugin for Gradle 3.2 বা তার উচ্চতর সংস্করণ প্রয়োজন, এবং এটি শুধুমাত্র ভেক্টর ড্রয়েবল ব্যবহার করে। AndroidX-এর VectorDrawableCompat ক্লাসটি আপনাকে Android 2.1 (API লেভেল 7) এবং তার উচ্চতর সংস্করণে VectorDrawable সমর্থন করতে দেয়।

ভেক্টর অ্যাসেট স্টুডিও ব্যবহার করার আগে, আপনাকে আপনার build.gradle ফাইলে একটি স্টেটমেন্ট যোগ করতে হবে:

কোটলিন

android {
    defaultConfig {
        vectorDrawables.useSupportLibrary = true
    }
}

dependencies {
    implementation("androidx.appcompat:appcompat:1.7.1")
}

গ্রুভি

android {
    defaultConfig {
        vectorDrawables.useSupportLibrary = true
    }
}

dependencies {
    implementation 'androidx.appcompat:appcompat:1.7.1'
}

রানিং ভেক্টর অ্যাসেট স্টুডিও

ভেক্টর অ্যাসেট স্টুডিও শুরু করতে:

  1. অ্যান্ড্রয়েড স্টুডিওতে একটি অ্যান্ড্রয়েড অ্যাপ প্রজেক্ট খুলুন।

  2. প্রজেক্ট উইন্ডোতে অ্যান্ড্রয়েড ভিউ নির্বাচন করুন।

  3. res ফোল্ডারটিতে রাইট-ক্লিক করুন এবং New > Vector Asset নির্বাচন করুন।

    অন্যান্য কিছু প্রজেক্ট ভিউ এবং ফোল্ডারেও এই মেনু আইটেমটি রয়েছে।

    ভেক্টর অ্যাসেট স্টুডিও প্রদর্শিত হয়।

    চিত্র ১। ভেক্টর অ্যাসেট স্টুডিও।

  4. এর পরিবর্তে যদি ‘ Need Newer Android Plugin for Gradle’ ডায়ালগ বক্সটি আসে, তাহলে আপনার Gradle ভার্সনটি নিম্নরূপভাবে সংশোধন করুন:

    1. ফাইল > প্রজেক্ট স্ট্রাকচার নির্বাচন করুন।

    2. প্রজেক্ট স্ট্রাকচার ডায়ালগে, প্রজেক্ট নির্বাচন করুন।

    3. Android Plugin Version ফিল্ডে, Android Plugin for Gradle ভার্সনটি 1.5.0 বা তার চেয়ে উচ্চতর সংস্করণে পরিবর্তন করুন এবং OK ক্লিক করুন।

      Gradle প্রজেক্টটি সিঙ্ক করে।

    4. প্রজেক্ট উইন্ডোর অ্যান্ড্রয়েড ভিউতে , res ফোল্ডারটির উপর রাইট-ক্লিক করুন এবং New > Vector Asset নির্বাচন করুন।

      ভেক্টর অ্যাসেট স্টুডিও প্রদর্শিত হয়।

  5. একটি ভেক্টর গ্রাফিক ইম্পোর্ট করার প্রক্রিয়াটি চালিয়ে যান।

একটি ভেক্টর গ্রাফিক আমদানি করা

ভেক্টর অ্যাসেট স্টুডিও আপনাকে আপনার অ্যাপ প্রজেক্টে একটি ভেক্টর গ্রাফিক্স ফাইল ইম্পোর্ট করতে সাহায্য করে। নিচের পদ্ধতিগুলোর মধ্যে যেকোনো একটি অনুসরণ করুন:

একটি ম্যাটেরিয়াল আইকন যোগ করা

ভেক্টর অ্যাসেট স্টুডিও খোলার পর, আপনি নিম্নোক্তভাবে একটি ম্যাটেরিয়াল আইকন যোগ করতে পারেন:

  1. ভেক্টর অ্যাসেট স্টুডিওতে, ক্লিপ আর্ট নির্বাচন করুন।

  2. ক্লিপ আর্ট ফিল্ডে বাটনটিতে ক্লিক করুন।

  3. আইকন নির্বাচন ডায়ালগ বক্সটি প্রদর্শিত হবে। চিত্র ২-এ দেখানো অনুযায়ী, আপনি মেনু থেকে একটি আইকন বিভাগ নির্বাচন করে অথবা সার্চ ফিল্ডে টাইপ করে কোন আইকনগুলো দেখা যাবে তা ফিল্টার করতে পারেন।

    চিত্র ২। ভেক্টর অ্যাসেট স্টুডিওতে ম্যাটেরিয়াল আইকন ফিল্টার করা।

    একটি ম্যাটেরিয়াল আইকন নির্বাচন করুন এবং OK-তে ক্লিক করুন। আইকনটি ভেক্টর ড্রয়েবল প্রিভিউতে প্রদর্শিত হবে।

  4. ঐচ্ছিকভাবে রিসোর্সের নাম, আকার, অস্বচ্ছতা এবং ডান থেকে বাম (RTL) প্রতিবিম্বন সেটিং পরিবর্তন করুন:

    • নাম - আপনি যদি ডিফল্ট নামটি ব্যবহার করতে না চান, তাহলে একটি নতুন নাম টাইপ করুন। যদি প্রজেক্টে সেই রিসোর্স নামটি আগে থেকেই বিদ্যমান থাকে, তাহলে ভেক্টর অ্যাসেট স্টুডিও স্বয়ংক্রিয়ভাবে একটি অনন্য নাম তৈরি করে (নামের শেষে একটি সংখ্যা যোগ করে)। নামে শুধুমাত্র ছোট হাতের অক্ষর, আন্ডারস্কোর এবং সংখ্যা থাকতে পারে।

    • ওভাররাইড - আপনি যদি ছবির আকার পরিবর্তন করতে চান তবে এই বিকল্পটি নির্বাচন করুন। আপনি যখন একটি নতুন আকার টাইপ করবেন, তখন পরিবর্তনটি প্রিভিউ এলাকায় দেখা যাবে।

      ডিফল্ট হলো ২৪ x ২৪ ডিপি, যা ম্যাটেরিয়াল ডিজাইন স্পেসিফিকেশনে সংজ্ঞায়িত করা আছে। ডিফল্টে ফিরে যেতে চেকবক্সটি অনির্বাচিত করুন।

    • অস্বচ্ছতা - ছবির অস্বচ্ছতা সমন্বয় করতে স্লাইডারটি ব্যবহার করুন। পরিবর্তনটি প্রিভিউ অংশে দেখা যাবে।

    • আরটিএল লেআউটের জন্য অটো মিররিং সক্রিয় করুন - লেআউটটি বাম থেকে ডানের পরিবর্তে ডান থেকে বামে হলে যদি আপনি একটি প্রতিবিম্ব প্রদর্শন করতে চান, তাহলে এই বিকল্পটি নির্বাচন করুন। উদাহরণস্বরূপ, কিছু ভাষা ডান থেকে বামে পড়া হয়; যদি আপনার একটি তীর চিহ্নের আইকন থাকে, তাহলে এই ক্ষেত্রে আপনি সেটির একটি প্রতিবিম্ব প্রদর্শন করতে চাইতে পারেন। মনে রাখবেন যে, আপনি যদি একটি পুরোনো প্রজেক্ট নিয়ে কাজ করেন, তাহলে আপনার অ্যাপ ম্যানিফেস্টে android:supportsRtl="true" যোগ করারও প্রয়োজন হতে পারে। অটো-মিররিং অ্যান্ড্রয়েড ৫.০ (এপিআই লেভেল ২১) ও তার পরবর্তী সংস্করণ এবং অ্যান্ড্রয়েডএক্স-এ সমর্থিত।

  5. পরবর্তী ধাপে যান।

  6. ঐচ্ছিকভাবে মডিউল এবং রিসোর্স ডিরেক্টরি পরিবর্তন করুন:

    • রিসোর্স ডিরেক্টরি - আপনি যে রিসোর্স সোর্স সেটে ভেক্টর ড্রয়েবল যোগ করতে চান তা নির্বাচন করুন: src/main/res , src/debug/res , src/release/res , অথবা একটি ব্যবহারকারী-সংজ্ঞায়িত সোর্স সেট। প্রধান সোর্স সেটটি ডিবাগ এবং রিলিজ সহ সমস্ত বিল্ড ভ্যারিয়েন্টের জন্য প্রযোজ্য। ডিবাগ এবং রিলিজ সোর্স সেটগুলো প্রধান সোর্স সেটকে ওভাররাইড করে এবং একটি বিল্ডের একটি সংস্করণে প্রযোজ্য হয়। ডিবাগ সোর্স সেটটি শুধুমাত্র ডিবাগিংয়ের জন্য। একটি নতুন সোর্স সেট সংজ্ঞায়িত করতে, ফাইল > প্রজেক্ট স্ট্রাকচার > অ্যাপ > বিল্ড টাইপস নির্বাচন করুন। উদাহরণস্বরূপ, আপনি একটি বিটা সোর্স সেট সংজ্ঞায়িত করতে পারেন এবং একটি আইকনের এমন একটি সংস্করণ তৈরি করতে পারেন যার নিচের ডান কোণায় "BETA" লেখাটি অন্তর্ভুক্ত থাকবে। আরও তথ্যের জন্য, বিল্ড ভ্যারিয়েন্ট কনফিগার করুন দেখুন।

    আউটপুট ডিরেক্টরি অংশে ভেক্টর ড্রয়েবল এবং যে ডিরেক্টরিতে এটি প্রদর্শিত হবে, তা দেখানো হয়।

  7. শেষ করুন- এ ক্লিক করুন।

    ভেক্টর অ্যাসেট স্টুডিও প্রজেক্টের app/src/main/res/drawable/ ফোল্ডারে ভেক্টর ড্রয়েবল নির্ধারণকারী একটি XML ফাইল যুক্ত করে। প্রজেক্ট উইন্ডোর অ্যান্ড্রয়েড ভিউ থেকে, আপনি drawable ফোল্ডারে তৈরি হওয়া ভেক্টর XML ফাইলটি দেখতে পারেন।

  8. প্রকল্পটি নির্মাণ করুন।

    যদি সর্বনিম্ন এপিআই লেভেল অ্যান্ড্রয়েড ৪.৪ (এপিআই লেভেল ২০) বা তার চেয়ে কম হয় এবং আপনি অ্যান্ড্রয়েডএক্স টেকনিকটি সক্রিয় না করে থাকেন, তাহলে ভেক্টর অ্যাসেট স্টুডিও পিএনজি ফাইল তৈরি করে। প্রজেক্ট উইন্ডোর প্রজেক্ট ফাইলস ভিউ থেকে, আপনি app/build/generated/res/pngs/debug/ ফোল্ডারে তৈরি হওয়া পিএনজি এবং এক্সএমএল ফাইলগুলো দেখতে পারবেন।

    আপনার এই তৈরি হওয়া রাস্টার ফাইলগুলো সম্পাদনা করা উচিত নয়, বরং ভেক্টর এক্সএমএল (XML) ফাইলটি নিয়ে কাজ করা উচিত। বিল্ড সিস্টেম প্রয়োজনে স্বয়ংক্রিয়ভাবে রাস্টার ফাইলগুলো পুনরায় তৈরি করে, তাই আপনাকে এগুলো রক্ষণাবেক্ষণ করতে হবে না।

একটি SVG বা PSD ফাইল আমদানি করা

ভেক্টর অ্যাসেট স্টুডিও খোলার পর, আপনি নিম্নোক্তভাবে একটি SVG বা PSD ফাইল ইম্পোর্ট করতে পারেন:

  1. ভেক্টর অ্যাসেট স্টুডিওতে, লোকাল ফাইল নির্বাচন করুন।

    ফাইলটি অবশ্যই একটি লোকাল ড্রাইভে থাকতে হবে। উদাহরণস্বরূপ, যদি এটি নেটওয়ার্কে থাকে, তবে আপনাকে প্রথমে এটি একটি লোকাল ড্রাইভে ডাউনলোড করতে হবে।

  2. একটি ইমেজ ফাইল নির্দিষ্ট করতে -এ ক্লিক করুন।

    ছবিটি ভেক্টর ড্রয়েবল প্রিভিউতে প্রদর্শিত হয়।

    যদি SVG বা PSD ফাইলে অসমর্থিত বৈশিষ্ট্য থাকে, তাহলে ভেক্টর অ্যাসেট স্টুডিও-এর নীচে একটি ত্রুটি প্রদর্শিত হয়, যেমনটি চিত্র ৩-এ দেখানো হয়েছে।

    চিত্র ৩। ভেক্টর অ্যাসেট স্টুডিওতে কিছু ত্রুটি দেখা যাচ্ছে।

    যদি কোনো ত্রুটি দেখতে পান, তাহলে আপনাকে নিশ্চিত করতে হবে যে ইম্পোর্ট করা ভেক্টর ড্রয়েবলটি সঠিকভাবে রেন্ডার হচ্ছে। ত্রুটিগুলো দেখার জন্য তালিকাটি স্ক্রল করুন।

    সমর্থিত উপাদানগুলির তালিকার জন্য, ভেক্টর ড্রয়েবল ব্যাকওয়ার্ড-কম্প্যাটিবিলিটি সলিউশনস দেখুন। অনুমোদিত PSD ফাইলগুলি সম্পর্কে আরও তথ্যের জন্য, সাপোর্ট অ্যান্ড রেস্ট্রিকশনস ফর PSD ফাইলস দেখুন।

  3. ঐচ্ছিকভাবে রিসোর্সের নাম, আকার, অস্বচ্ছতা এবং ডান থেকে বাম (RTL) প্রতিবিম্বন সেটিং পরিবর্তন করুন:

    • নাম - আপনি যদি ডিফল্ট নামটি ব্যবহার করতে না চান, তাহলে একটি নতুন নাম টাইপ করুন। যদি প্রজেক্টে সেই রিসোর্স নামটি আগে থেকেই বিদ্যমান থাকে, তাহলে ভেক্টর অ্যাসেট স্টুডিও স্বয়ংক্রিয়ভাবে একটি অনন্য নাম তৈরি করে (নামের শেষে একটি সংখ্যা যোগ করে)। নামে শুধুমাত্র ছোট হাতের অক্ষর, আন্ডারস্কোর এবং সংখ্যা থাকতে পারে।

    • ওভাররাইড - আপনি যদি ছবির আকার পরিবর্তন করতে চান তবে এই বিকল্পটি নির্বাচন করুন। এটি নির্বাচন করার পর, আকারটি ছবির আসল আকারে পরিবর্তিত হয়ে যায়। যখনই আপনি আকার পরিবর্তন করবেন, পরিবর্তনটি প্রিভিউ অংশে দেখা যাবে। ডিফল্ট আকার হলো ২৪ x ২৪ ডিপি, যা ম্যাটেরিয়াল ডিজাইন স্পেসিফিকেশনে সংজ্ঞায়িত করা আছে।

    • অস্বচ্ছতা - ছবির অস্বচ্ছতা সমন্বয় করতে স্লাইডারটি ব্যবহার করুন। পরিবর্তনটি প্রিভিউ অংশে দেখা যাবে।

    • আরটিএল লেআউটের জন্য অটো মিররিং সক্রিয় করুন - লেআউটটি বাম থেকে ডানের পরিবর্তে ডান থেকে বামে হলে যদি আপনি একটি প্রতিবিম্ব প্রদর্শন করতে চান, তাহলে এই বিকল্পটি নির্বাচন করুন। উদাহরণস্বরূপ, কিছু ভাষা ডান থেকে বামে পড়া হয়; যদি আপনার একটি তীর চিহ্নের আইকন থাকে, তাহলে এই ক্ষেত্রে আপনি সেটির একটি প্রতিবিম্ব প্রদর্শন করতে চাইতে পারেন। মনে রাখবেন যে, আপনি যদি একটি পুরোনো প্রজেক্ট নিয়ে কাজ করেন, তাহলে আপনার অ্যাপ ম্যানিফেস্টে android:supportsRtl="true" যোগ করার প্রয়োজন হতে পারে। অটো-মিররিং অ্যান্ড্রয়েড ৫.০ (এপিআই লেভেল ২১) ও তার পরবর্তী সংস্করণ এবং অ্যান্ড্রয়েড এক্স দ্বারা সমর্থিত।

  4. পরবর্তী ধাপে যান।

  5. ঐচ্ছিকভাবে রিসোর্স ডিরেক্টরি পরিবর্তন করুন:

    • রিসোর্স ডিরেক্টরি - আপনি যে রিসোর্স সোর্স সেটে ভেক্টর ড্রয়েবল যোগ করতে চান তা নির্বাচন করুন: src/main/res , src/debug/res , src/release/res , অথবা একটি ব্যবহারকারী-সংজ্ঞায়িত সোর্স সেট। প্রধান সোর্স সেটটি ডিবাগ এবং রিলিজ সহ সমস্ত বিল্ড ভ্যারিয়েন্টের জন্য প্রযোজ্য। ডিবাগ এবং রিলিজ সোর্স সেটগুলো প্রধান সোর্স সেটকে ওভাররাইড করে এবং একটি বিল্ডের একটি সংস্করণে প্রযোজ্য হয়। ডিবাগ সোর্স সেটটি শুধুমাত্র ডিবাগিংয়ের জন্য। একটি নতুন সোর্স সেট সংজ্ঞায়িত করতে, ফাইল > প্রজেক্ট স্ট্রাকচার > অ্যাপ > বিল্ড টাইপস নির্বাচন করুন। উদাহরণস্বরূপ, আপনি একটি বিটা সোর্স সেট সংজ্ঞায়িত করতে পারেন এবং একটি আইকনের এমন একটি সংস্করণ তৈরি করতে পারেন যার নিচের ডান কোণায় "BETA" লেখাটি অন্তর্ভুক্ত থাকবে। আরও তথ্যের জন্য, বিল্ড ভ্যারিয়েন্ট কনফিগার করুন দেখুন।

    আউটপুট ডিরেক্টরি অংশে ভেক্টর ড্রয়েবল এবং যে ডিরেক্টরিতে এটি প্রদর্শিত হবে, তা দেখানো হয়।

  6. শেষ করুন- এ ক্লিক করুন।

    ভেক্টর অ্যাসেট স্টুডিও প্রজেক্টের app/src/main/res/drawable/ ফোল্ডারে ভেক্টর ড্রয়েবল নির্ধারণকারী একটি XML ফাইল যুক্ত করে। প্রজেক্ট উইন্ডোর অ্যান্ড্রয়েড ভিউ থেকে, আপনি drawable ফোল্ডারে তৈরি হওয়া ভেক্টর XML ফাইলটি দেখতে পারেন।

  7. প্রকল্পটি নির্মাণ করুন।

    যদি সর্বনিম্ন এপিআই লেভেল অ্যান্ড্রয়েড ৪.৪ (এপিআই লেভেল ২০) বা তার চেয়ে কম হয় এবং আপনি অ্যান্ড্রয়েডএক্স টেকনিকটি সক্রিয় না করে থাকেন, তাহলে ভেক্টর অ্যাসেট স্টুডিও পিএনজি ফাইল তৈরি করে। প্রজেক্ট উইন্ডোর প্রজেক্ট ফাইলস ভিউ থেকে, আপনি app/build/generated/res/pngs/debug/ ফোল্ডারে তৈরি হওয়া পিএনজি এবং এক্সএমএল ফাইলগুলো দেখতে পারবেন।

    আপনার এই তৈরি হওয়া রাস্টার ফাইলগুলো সম্পাদনা করা উচিত নয়, বরং ভেক্টর এক্সএমএল (XML) ফাইলটি নিয়ে কাজ করা উচিত। বিল্ড সিস্টেম প্রয়োজনে স্বয়ংক্রিয়ভাবে রাস্টার ফাইলগুলো পুনরায় তৈরি করে, তাই আপনাকে এগুলো রক্ষণাবেক্ষণ করতে হবে না।

জেটপ্যাক কম্পোজে একটি ভেক্টর অ্যাসেট রেফারেন্স করা

ভেক্টর অ্যাসেট স্টুডিও ব্যবহার করে আপনার res/drawable ফোল্ডারে কোনো অ্যাসেট যোগ করার পর, আপনি আপনার কোডে সেটিকে রেফারেন্স করতে পারবেন।

Jetpack Compose-এ আপনার ভেক্টর প্রদর্শন করার সবচেয়ে প্রচলিত উপায় হলো Icon বা Image composable ব্যবহার করা।

Icon কম্পোজেবল হলো ছোট, একরঙা অ্যাসেট প্রদর্শনের আদর্শ উপায়। এটি ম্যাটেরিয়াল ডিজাইন নীতিমালার জন্য অন্তর্নির্মিত সমর্থন প্রদান করে, যেমন ম্যাটেরিয়াল ৩ থিমের উপর ভিত্তি করে ডাইনামিক টিন্টিং প্রয়োগ করা এবং কন্টেন্ট বর্ণনার মাধ্যমে স্বয়ংক্রিয় অ্যাক্সেসিবিলিটি।

কম্পোজেবল-এ XML ভেক্টর অ্যাসেট সরবরাহ করতে painterResource API ব্যবহার করুন:

Icon(
    painter = painterResource(id = R.drawable.ic_speedometer),
    tint = MaterialTheme.colorScheme.primary, // Applies dynamic theme color
    contentDescription = "Current Speed", // Essential for accessibility
)

জটিল এবং বহুরঙা ভেক্টরের জন্য, Image কম্পোজেবল ব্যবহার করুন:

Image(
     painter = painterResource(id = R.drawable.ic_complex_vector),
     contentDescription = null // Decorative element
)

অন্যান্য জটিল পরিস্থিতি, যেমন কোনো ছবি কাস্টমাইজ করা বা পারফরম্যান্স অপ্টিমাইজ করার জন্য, “Working with images” দেখুন। ভেক্টর অ্যানিমেট করার জন্য, “Animated vector images in Compose” দেখুন।

ভেক্টর অ্যাসেট স্টুডিও দ্বারা তৈরি XML কোড পরিবর্তন করা

আপনি ভেক্টর ড্রয়েবল এক্সএমএল কোড পরিবর্তন করতে পারবেন, কিন্তু বিল্ড টাইমে তৈরি হওয়া পিএনজি এবং সংশ্লিষ্ট এক্সএমএল কোড পরিবর্তন করতে পারবেন না। তবে, আমরা এটি করার পরামর্শ দিই না।

PNG তৈরির পদ্ধতি ব্যবহার করার সময়, ভেক্টর অ্যাসেট স্টুডিও নিশ্চিত করে যে ভেক্টর ড্রয়েবল এবং PNG ফাইলগুলো যেন একই রকম হয় এবং ম্যানিফেস্টে সঠিক কোড থাকে। আপনি যদি এমন কোনো কোড যোগ করেন যা অ্যান্ড্রয়েড ৪.৪ (এপিআই লেভেল ২০) এবং এর নিচের সংস্করণগুলোতে সমর্থিত নয় , তাহলে আপনার ভেক্টর এবং PNG ইমেজগুলো ভিন্ন হতে পারে। আপনাকে এটাও নিশ্চিত করতে হবে যে আপনার পরিবর্তনগুলো সমর্থন করার জন্য প্রয়োজনীয় কোড ম্যানিফেস্টে রয়েছে।

যখন আপনি AndroidX কৌশলটি ব্যবহার করছেন না, তখন ভেক্টর XML ফাইলটি পরিবর্তন করতে:

  1. প্রজেক্ট উইন্ডোতে, ড্রয়েবল ফোল্ডারে তৈরি হওয়া ভেক্টর XML ফাইলটিতে ডাবল-ক্লিক করুন।

    এক্সএমএল ফাইলটি এডিটর এবং প্রিভিউ উইন্ডোতে প্রদর্শিত হয়।

    চিত্র ৪। কোড এডিটর এবং প্রিভিউ উইন্ডোতে প্রদর্শিত একটি ভেক্টর এক্সএমএল ফাইল।

  2. সর্বনিম্ন API লেভেল দ্বারা সমর্থিত বিষয় অনুযায়ী XML কোডটি সম্পাদনা করুন:

    • অ্যান্ড্রয়েড ৫.০ (এপিআই লেভেল ২১) এবং উচ্চতর সংস্করণের জন্য - ভেক্টর অ্যাসেট স্টুডিও সমস্ত Drawable এবং VectorDrawable এলিমেন্ট সমর্থন করে। আপনি XML এলিমেন্ট যোগ করতে এবং মান পরিবর্তন করতে পারেন। জেটপ্যাক কম্পোজের জন্য, আরও কাস্টমাইজেশনের উদ্দেশ্যে আপনি ভেক্টর ড্রয়েবলটিকে ImageVector এ লোড করতে পারেন।

    • অ্যান্ড্রয়েড ৪.৪ (এপিআই লেভেল ২০) এবং তার নিচের সংস্করণ - ভেক্টর অ্যাসেট স্টুডিও সমস্ত Drawable এলিমেন্ট এবং VectorDrawable এলিমেন্টগুলোর একটি উপসেট সমর্থন করে। তালিকার জন্য ভেক্টর ড্রয়েবল ব্যাকওয়ার্ড-কম্প্যাটিবিলিটি সলিউশনস দেখুন। আপনি জেনারেটেড কোডে মান পরিবর্তন করতে এবং সমর্থিত XML এলিমেন্ট যোগ করতে পারেন।

  3. প্রজেক্টটি বিল্ড করুন এবং পরীক্ষা করে দেখুন যে ভেক্টর ড্রয়েবল এবং সংশ্লিষ্ট রাস্টার ইমেজগুলো দেখতে একই রকম কিনা।

    মনে রাখবেন যে, ভিন্ন রেন্ডারিং ইঞ্জিন এবং বিল্ডের আগে ভেক্টর ড্রয়েবলে করা যেকোনো পরিবর্তনের কারণে তৈরি হওয়া PNG ফাইলগুলো অ্যাপের চেয়ে প্রিভিউ উইন্ডোতে ভিন্নভাবে প্রদর্শিত হতে পারে। আপনি যদি ভেক্টর অ্যাসেট স্টুডিও দ্বারা তৈরি ভেক্টর XML ফাইলে কোড যোগ করেন, তাহলে অ্যান্ড্রয়েড ৪.৪ (API লেভেল ২০) এবং এর নিচের সংস্করণগুলোতে অসমর্থিত কোনো ফিচার তৈরি হওয়া PNG ফাইলগুলোতে দেখা যাবে না। ফলস্বরূপ, কোড যোগ করার সময়, আপনার সর্বদা পরীক্ষা করে দেখা উচিত যে তৈরি হওয়া PNG ফাইলগুলো ভেক্টর ড্রয়েবলের সাথে মিলছে কিনা। এটি করার জন্য, আপনি প্রজেক্ট উইন্ডোর প্রজেক্ট ফাইলস ভিউতে থাকা PNG ফাইলটিতে ডাবল-ক্লিক করতে পারেন; যখন আপনার কোড ড্রয়েবলটিকে নির্দেশ করে, তখন কোড এডিটরের বাম মার্জিনেও PNG ছবিটি প্রদর্শিত হয়, যেমনটি চিত্র ৫-এ দেখানো হয়েছে।

    চিত্র ৫। কোড এডিটরের বাম মার্জিনে প্রদর্শিত একটি PNG ছবি।

প্রজেক্ট থেকে একটি ভেক্টর ড্রয়েবল মুছে ফেলা

প্রজেক্ট থেকে একটি ভেক্টর ড্রয়েবল সরাতে:

  1. প্রজেক্ট উইন্ডোতে, তৈরি হওয়া ভেক্টর XML ফাইলটি নির্বাচন করে ডিলিট কী চাপুন (অথবা এডিট > ডিলিট নির্বাচন করুন)।

    সেফ ডিলিট ডায়ালগ বক্সটি প্রদর্শিত হবে।

  2. প্রকল্পে ফাইলটি কোথায় ব্যবহৃত হয়েছে তা খুঁজে বের করার জন্য ঐচ্ছিকভাবে অপশনগুলো নির্বাচন করুন এবং OK ক্লিক করুন।

    অ্যান্ড্রয়েড স্টুডিও প্রজেক্ট এবং ড্রাইভ থেকে ফাইলটি মুছে ফেলে। তবে, যদি আপনি প্রজেক্টের মধ্যে ফাইলটির ব্যবহৃত স্থানগুলো অনুসন্ধান করেন এবং এর কিছু ব্যবহার খুঁজে পান, তাহলে আপনি সেগুলো দেখতে এবং ফাইলটি মুছবেন কিনা সে বিষয়ে সিদ্ধান্ত নিতে পারবেন।

  3. বিল্ড > ক্লিন প্রজেক্ট নির্বাচন করুন।

    মুছে ফেলা ভেক্টর ড্রয়েবলের সাথে সম্পর্কিত স্বয়ংক্রিয়ভাবে তৈরি হওয়া যেকোনো PNG এবং XML ফাইল প্রজেক্ট এবং ড্রাইভ থেকে সরিয়ে ফেলা হয়।

ভেক্টর ড্রয়েবল সম্বলিত একটি অ্যাপ সরবরাহ করা হচ্ছে

যদি আপনি AndroidX পদ্ধতি ব্যবহার করে থাকেন অথবা আপনার সর্বনিম্ন API লেভেল Android 5.0 (API লেভেল 21) বা তার বেশি হয়, তাহলে আপনার APK-তে Vector Asset Studio দিয়ে যোগ করা ভেক্টর ড্রয়েবলগুলো থাকবে। ভেক্টর ইমেজগুলোকে PNG-তে রূপান্তর করার চেয়ে এই APK-গুলো আকারে ছোট হবে।

যখন আপনার সর্বনিম্ন এপিআই লেভেল অ্যান্ড্রয়েড ৪.৪ (এপিআই লেভেল ২০) বা তার চেয়ে কম হয়, এবং আপনার প্রজেক্টে সংশ্লিষ্ট ভেক্টর ড্রয়েবল ও রাস্টার ইমেজ থাকে, তখন আপনার এপিকে ফাইলগুলো সরবরাহ করার জন্য দুটি বিকল্প থাকে:

  • এমন একটি APK তৈরি করুন যাতে ভেক্টর ড্রয়েবল এবং সংশ্লিষ্ট রাস্টার উপস্থাপনা উভয়ই অন্তর্ভুক্ত থাকে। এই সমাধানটি বাস্তবায়ন করা সবচেয়ে সহজ।
  • বিভিন্ন API লেভেলের জন্য আলাদা APK তৈরি করুন। আপনি যদি Android 5.0 (API লেভেল 21) এবং তার উপরের সংস্করণের জন্য APK-তে সংশ্লিষ্ট রাস্টার ইমেজগুলো অন্তর্ভুক্ত না করেন, তাহলে APK-টির আকার অনেক ছোট হতে পারে। আরও তথ্যের জন্য, একাধিক APK সাপোর্ট দেখুন।

PSD ফাইলের জন্য সমর্থন এবং সীমাবদ্ধতা

ভেক্টর অ্যাসেট স্টুডিও পিএসডি ফাইলের সমস্ত বৈশিষ্ট্য সমর্থন করে না। নিম্নলিখিত তালিকায় সমর্থিত ও অসমর্থিত পিএসডি বৈশিষ্ট্যগুলির পাশাপাশি কিছু রূপান্তরের বিবরণ সংক্ষেপে তুলে ধরা হয়েছে।

নথি

সমর্থিত:

  • PSD-এর কালার মোডগুলো হলো বিটম্যাপ, গ্রেস্কেল, ইনডেক্সড, RGB, Lab বা CMYK।
  • ৮, ১৬ বা ৩২ বিটের রঙের গভীরতা।

রূপান্তরের বিবরণ:

  • PSD ডকুমেন্টের ডাইমেনশনগুলোই ভেক্টর ড্রয়েবল এবং ভিউপোর্ট ডাইমেনশনে পরিণত হয়।

সমর্থিত নয়:

  • পিএসডি কালার মোড ডুওটোন বা মাল্টিচ্যানেল।

আকৃতি

সমর্থিত:

  • ক্লিপিং মাস্ক, যদি ক্লিপিং বেসটি অন্য কোনো আকৃতি হয়।
  • আকৃতি সংক্রান্ত অপারেশন, যার মধ্যে রয়েছে একত্রীকরণ/যোগ, ছেদ, বিয়োগ এবং বর্জন।

সমর্থিত নয়:

  • ফটোশপ শেপগুলিতে জোড়-বিজোড় ফিল রুল ব্যবহৃত হয়। অ্যান্ড্রয়েড ৬.০ (এপিআই লেভেল ২৩) এবং এর নিচের সংস্করণগুলিতে, ভেক্টর ড্রয়েবলগুলি শুধুমাত্র অশূন্য ফিল রুল সমর্থন করে। সেলফ-ইন্টারসেক্টিং শেপগুলির ক্ষেত্রে, এই সীমাবদ্ধতার কারণে PSD ফাইল এবং তার থেকে তৈরি হওয়া ভেক্টর ড্রয়েবলের মধ্যে রেন্ডারিং-এ পার্থক্য দেখা দিতে পারে। এই সমস্যাটি সমাধান করতে, ভেক্টর ড্রয়েবলের শেপটিতে android:fillType="evenOdd" যোগ করুন। উদাহরণস্বরূপ:

    <vector xmlns:android="https://schemas.android.com/apk/res/android"
      android:viewportHeight="168"
      android:height="24dp"
      android:viewportWidth="209"
      android:width="24dp">
    
      <path
          android:fillAlpha="1.0"
          android:fillColor="#000000"
          android:fillType="evenOdd"
          android:pathData="M24,58 L24,167 L114,167 L114,66 M64,1 L64,96 L208,96 L208,8 M1,97 L146,139 L172,47"/>
    </vector>

স্ট্রোক এবং ফিল

সমর্থিত:

  • স্ট্রোক, যার মধ্যে রয়েছে রঙ, অস্বচ্ছতা, প্রস্থ, সংযোগ, ক্যাপ, ড্যাশ এবং অ্যালাইনমেন্ট।
  • নিরেট রঙের ফিল এবং স্ট্রোক।
  • স্ট্রোক ও ফিল কালার RGB, Lab বা CMYK হিসেবে নির্দিষ্ট করা হয়।

রূপান্তরের বিবরণ:

  • যদি কোনো স্ট্রোক ড্যাশযুক্ত হয়, ক্লিপিং বেস ব্যবহার করে ক্লিপ করা হয়, অথবা কেন্দ্র থেকে ভিন্ন কোনো অ্যালাইনমেন্ট ব্যবহার করে, তাহলে ভেক্টর অ্যাসেট স্টুডিও সেটিকে ভেক্টর ড্রয়েবলের মধ্যে একটি ফিল শেপে রূপান্তরিত করে।

সমর্থিত নয়:

  • নিরেট রঙ ছাড়া অন্যান্য রঙের ফিল ও স্ট্রোক, যেমন গ্রেডিয়েন্ট।

অস্বচ্ছতা

সমর্থিত:

  • স্তরগুলোকে ০ অপাসিটি দিয়ে আকার দিন।

রূপান্তরের বিবরণ:

  • ভেক্টর অ্যাসেট স্টুডিও ফিল আলফা গণনা করার জন্য ফিল অপাসিটিকে লেয়ার অপাসিটির সাথে গুণ করে।
  • এই টুলটি চূড়ান্ত ফিল আলফা গণনা করার জন্য ক্লিপিং বেসের (যদি কোনো ক্লিপিং বেস থাকে) অস্বচ্ছতার সাথে ফিল আলফা গুণ করে।
  • টুলটি স্ট্রোক আলফা গণনা করার জন্য স্ট্রোক অপাসিটিকে লেয়ার অপাসিটির সাথে গুণ করে।
  • এই টুলটি চূড়ান্ত স্ট্রোক আলফা গণনা করার জন্য ক্লিপিং বেসের (যদি কোনো ক্লিপিং বেস থাকে) অস্বচ্ছতার সাথে স্ট্রোক আলফা গুণ করে।

স্তর

সমর্থিত:

  • যেকোনো দৃশ্যমান আকৃতি স্তর।

রূপান্তরের বিবরণ:

  • ভেক্টর অ্যাসেট স্টুডিও ভেক্টর ড্রয়েবল ফাইলের লেয়ারগুলোর নাম অপরিবর্তিত রাখে।

সমর্থিত নয়:

  • স্তর প্রভাব।
  • সমন্বয় এবং টেক্সট লেয়ার।
  • ব্লেন্ডিং মোড (উপেক্ষিত)।

SVG ফাইলের জন্য সমর্থন এবং সীমাবদ্ধতা

ভেক্টর অ্যাসেট স্টুডিও SVG ফাইলের সমস্ত বৈশিষ্ট্য সমর্থন করে না। নিম্নলিখিত বিভাগে, টুলটি যখন একটি SVG ফাইলকে VectorDrawable এ রূপান্তর করে, তখন সমর্থিত এবং অসমর্থিত বৈশিষ্ট্যগুলির একটি সারসংক্ষেপ দেওয়া হয়েছে, সাথে রূপান্তরের অতিরিক্ত বিবরণও রয়েছে।

সমর্থিত বৈশিষ্ট্য

VectorDrawable Tiny SVG 1.2- এর টেক্সট ছাড়া বাকি সব বৈশিষ্ট্য সমর্থন করে।

আকৃতি

VectorDrawable SVG পাথ সমর্থন করে।

এই টুলটি বৃত্ত, বর্গক্ষেত্র এবং বহুভুজের মতো মৌলিক আকৃতিগুলোকে পাথে রূপান্তর করে।

রূপান্তর

টুলটি ট্রান্সফরমেশন ম্যাট্রিক্স সমর্থন করে এবং সেগুলোকে সরাসরি চাইল্ড পাথগুলোতে প্রয়োগ করে।

দলগুলি

এই টুলটি গ্রুপ এলিমেন্টগুলোকে ট্রান্সলেশন, স্কেলিং এবং রোটেশনের জন্য সাপোর্ট করে। গ্রুপগুলোতে অপাসিটি প্রপার্টি নেই।

এই টুলটি চাইল্ড পাথগুলোতেও যেকোনো গ্রুপ স্টাইলিং বা অপাসিটি প্রয়োগ করে।

ভরাট এবং স্ট্রোক

পাথগুলিকে সলিড রঙ বা গ্রেডিয়েন্ট (রৈখিক, বৃত্তাকার বা কৌণিক) ব্যবহার করে ফিল ও স্ট্রোক করা যায়। শুধুমাত্র কেন্দ্রমুখী স্ট্রোক সমর্থিত। ব্লেন্ড মোড সমর্থিত নয়। ড্যাশযুক্ত পাথ সমর্থিত নয়।

মাস্ক

টুলটি প্রতি গ্রুপে একটি ক্লিপিং মাস্ক সমর্থন করে।

SVG ইম্পোর্টার দ্বারা সমর্থিত নয় এমন বৈশিষ্ট্যসমূহ

পূর্ববর্তী 'সমর্থিত বৈশিষ্ট্য' বিভাগে তালিকাভুক্ত নয় এমন যেকোনো বৈশিষ্ট্য অসমর্থিত। উল্লেখযোগ্য অসমর্থিত বৈশিষ্ট্যগুলির মধ্যে নিম্নলিখিতগুলি অন্তর্ভুক্ত:

  • ফিল্টার এফেক্ট: ড্রপ শ্যাডো, ব্লার এবং কালার ম্যাট্রিক্সের মতো এফেক্টগুলো সমর্থিত নয়।
  • টেক্সট: অন্যান্য টুল ব্যবহার করে টেক্সটকে শেপে রূপান্তর করার পরামর্শ দেওয়া হচ্ছে।
  • প্যাটার্ন পূরণ

অতিরিক্ত সম্পদ

ভেক্টর গ্রাফিক্স সম্পর্কে আরও তথ্যের জন্য, নিম্নলিখিত অতিরিক্ত উৎসগুলো দেখুন:

ডকুমেন্টেশন

বিষয়বস্তু দেখুন