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

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

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

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

Jetpack Compose-এর সাথে ভেক্টর ড্রয়েবেল ব্যবহার করতে, আপনাকে ন্যূনতম API লেভেল Android 5.0 (API লেভেল ২১) এবং তার পরবর্তী যেকোনও ভার্সনে সেট করতে হবে।

Android 4.4 (API লেভেল ২০) এবং তার আগের ভার্সনে ভেক্টর ড্রয়েবেল কাজ করে না। আপনার ন্যূনতম API লেভেল যদি এইসব API লেভেলের কোনও একটিতে সেট করা থাকে, তাহলে ভেক্টর অ্যাসেট স্টুডিও ব্যবহার করার সময় আপনার কাছে দুটি বিকল্প থাকে: পোর্টেবল নেটওয়ার্ক গ্রাফিক (PNG) ফাইল (ডিফল্ট) তৈরি করা অথবা AndroidX-এ ব্যাকওয়ার্ড কম্প্যাটিবিলিটি টেকনিক ব্যবহার করা।

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

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

যেসব ভেক্টর গ্রাফিক ফর্ম্যাট কাজ করে সেগুলির ধরন

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

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

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

SVG এবং PSD ফাইলের ক্ষেত্রে বিবেচ্য বিষয়

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

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

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

ভেক্টর ড্রয়েবেল ব্যাকওয়ার্ড-কম্প্যাটিবিলিটি সমাধান

ব্যাকওয়ার্ড কম্প্যাটিবিলিটির জন্য আপনি যে দুটি টেকনিক ব্যবহার করতে পারেন, সেগুলি নিচের সারণীতে সংক্ষেপে উল্লেখ করা হয়েছে:

টেকনিক APK-তে ড্রয়েবল VectorDrawable XML এলিমেন্ট ভার্সন বিল্ড ফ্ল্যাগ অ্যাপ কোড
PNG জেনারেশন ভেক্টর ও রাস্টার সাবসেট কাজ করে

SVG: Gradle-এর জন্য Android প্লাগ-ইন 1.5.0 বা তার পরবর্তী যেকোনও ভার্সন

PSD: Android Studio 2.2 বা তার পরবর্তী যেকোনও ভার্সন

ডিফল্ট বিভিন্ন ধরনের কোডিং টেকনিক কাজ করে
AndroidX 1.0 বা তার পরবর্তী যেকোনও ভার্সন ভেক্টর সম্পূর্ণ সহায়তা Gradle 3.2 বা তার পরবর্তী যেকোনও ভার্সনের জন্য Android প্লাগ-ইন সাপোর্ট লাইব্রেরি স্টেটমেন্ট প্রয়োজন কোডিং টেকনিকের সাবসেট কাজ করে

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

PNG জেনারেশন

Android 5.0 (API লেভেল 21) এবং তার পরবর্তী যেকোনও ভার্সনে ভেক্টর ড্রয়েবেল কাজ করে। আপনার অ্যাপের ন্যূনতম API লেভেল কম হলে, ভেক্টর অ্যাসেট স্টুডিও আপনার প্রোজেক্টে ভেক্টর ড্রয়েবেল ফাইল যোগ করে; এছাড়াও, বিল্ড করার সময়, Gradle বিভিন্ন রেজোলিউশনে PNG রাস্টার ছবি তৈরি করে। Gradle, build.gradle ফাইলে ডোমেন স্পেসিফিক ল্যাঙ্গুয়েজ (DSL) generatedDensities প্রপার্টি দ্বারা নির্দিষ্ট করা PNG ডেনসিটি জেনারেট করে।

Android 5.0 (API লেভেল ২১) এবং তার পরবর্তী ভার্সনের জন্য, ভেক্টর অ্যাসেট স্টুডিও VectorDrawable-এর সব এলিমেন্টকে সাপোর্ট করে। Android 4.4 (API লেভেল ২০) এবং তার আগের ভার্সনের সাথে ব্যাকওয়ার্ড কম্প্যাটিবিলিটির জন্য, ভেক্টর অ্যাসেট স্টুডিও নিম্নলিখিত XML এলিমেন্ট সাপোর্ট করে:

<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

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

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

Kotlin

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. Android Studio-তে, Android অ্যাপ প্রোজেক্ট খুলুন।

  2. প্রোজেক্ট উইন্ডোতে, Android ভিউ বেছে নিন।

  3. res ফোল্ডারে ডানদিকের বোতামে ক্লিক করে নতুন > ভেক্টর অ্যাসেট বিকল্প বেছে নিন।

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

    ভেক্টর অ্যাসেট স্টুডিও দেখতে পাবেন।

    ছবি ১. ভেক্টর অ্যাসেট স্টুডিও।

  4. পরিবর্তে যদি Gradle-এর জন্য আরও নতুন Android প্লাগ-ইন প্রয়োজন ডায়ালগ দেখানো হয়, তাহলে আপনার Gradle ভার্সন এইভাবে ঠিক করুন:

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

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

    3. Android প্লাগ-ইন ভার্সন ফিল্ডে, Gradle ভার্সনের জন্য Android প্লাগ-ইন পরিবর্তন করে 1.5.0 বা তার চেয়ে উন্নত ভার্সন করুন এবং ঠিক আছে বিকল্পে ক্লিক করুন।

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

    4. প্রোজেক্ট উইন্ডোর Android ভিউ থেকে, res ফোল্ডারে ডানদিকের বোতামে ক্লিক করে নতুন > ভেক্টর অ্যাসেট বিকল্প বেছে নিন।

      ভেক্টর অ্যাসেট স্টুডিও দেখতে পাবেন।

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

ভেক্টর গ্রাফিক ইমপোর্ট করা

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

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

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

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

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

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

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

    মেটেরিয়াল আইকন বেছে নিয়ে ঠিক আছে বিকল্পে ক্লিক করুন। আইকনটি ভেক্টর ড্রয়েবেল প্রিভিউ-এ দেখা যায়।

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

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

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

      ডিফল্ট হল ২৪ x ২৪ ডিপি, যা মেটেরিয়াল ডিজাইন স্পেসিফিকেশনে উল্লেখ করা আছে। ডিফল্ট সেটিংসে ফিরে যেতে চেকবক্স থেকে টিকচিহ্ন সরিয়ে দিন।

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

    • RTL লেআউটের জন্য অটো-মিররিং চালু করুন - লেআউট বাঁদিক থেকে ডানদিকের পরিবর্তে ডানদিক থেকে বাঁদিকে হলে, আপনি মিরর ইমেজ দেখাতে চাইলে এই বিকল্প বেছে নিন। যেমন, কিছু ভাষা ডান থেকে বাম দিকে পড়া হয়; আপনার কাছে তীরচিহ্নের আইকন থাকলে, এই ক্ষেত্রে আপনি হয়ত সেটির মিরর ইমেজ দেখাতে চাইবেন। মনে রাখবেন, আপনি যদি কোনও পুরনো প্রোজেক্ট নিয়ে কাজ করেন, তাহলে আপনার অ্যাপ ম্যানিফেস্টে android:supportsRtl="true" যোগ করতে হতে পারে। Android 5.0 (API লেভেল 21) ও তার পরবর্তী ভার্সন এবং AndroidX-এ অটো-মিররিং কাজ করে।

  5. পরবর্তী বিকল্পে ক্লিক করুন।

  6. প্রয়োজন হলে মডিউল ও রিসোর্স ডিরেক্টরি পরিবর্তন করুন:

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

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

  7. সম্পূর্ণ করুন বিকল্পে ক্লিক করুন।

    ভেক্টর অ্যাসেট স্টুডিও, app/src/main/res/drawable/ ফোল্ডারে প্রোজেক্টে ভেক্টর ড্রয়েবেল সংজ্ঞায়িত করে এমন একটি XML ফাইল যোগ করে। প্রোজেক্ট উইন্ডোর Android ভিউ থেকে, আপনি drawable ফোল্ডারে জেনারেট করা ভেক্টর XML ফাইল দেখতে পারবেন।

  8. প্রোজেক্ট তৈরি করুন।

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

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

SVG বা PSD ফাইল ইমপোর্ট করা

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

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

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

  2. … বিকল্পে ক্লিক করে ছবির ফাইল নির্দিষ্ট করুন।

    ভেক্টর ড্রয়েবেল প্রিভিউ-এ ছবিটি দেখা যায়।

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

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

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

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

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

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

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

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

    • RTL লেআউটের জন্য অটো-মিররিং চালু করুন - লেআউট বাঁদিক থেকে ডানদিকের পরিবর্তে ডানদিক থেকে বাঁদিকে হলে, আপনি মিরর ইমেজ দেখাতে চাইলে এই বিকল্প বেছে নিন। যেমন, কিছু ভাষা ডান থেকে বামে পড়া হয়; আপনার কাছে তীরচিহ্নের আইকন থাকলে, এই ক্ষেত্রে আপনি হয়ত এটির মিরর ইমেজ দেখাতে চাইবেন। মনে রাখবেন, আপনি যদি কোনও পুরনো প্রোজেক্ট নিয়ে কাজ করেন, তাহলে আপনার অ্যাপ ম্যানিফেস্টে android:supportsRtl="true" যোগ করতে হতে পারে। Android 5.0 (API লেভেল 21) ও তার পরবর্তী যেকোনও ভার্সন এবং AndroidX-এ অটো-মিররিং কাজ করে।

  4. পরবর্তী বিকল্পে ক্লিক করুন।

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

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

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

  6. সম্পূর্ণ করুন বিকল্পে ক্লিক করুন।

    ভেক্টর অ্যাসেট স্টুডিও, app/src/main/res/drawable/ ফোল্ডারে প্রোজেক্টে ভেক্টর ড্রয়েবেল সংজ্ঞায়িত করে এমন একটি XML ফাইল যোগ করে। প্রোজেক্ট উইন্ডোর Android ভিউ থেকে, আপনি drawable ফোল্ডারে জেনারেট করা ভেক্টর XML ফাইল দেখতে পারবেন।

  7. প্রোজেক্ট তৈরি করুন।

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

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

Jetpack Compose-এ ভেক্টর অ্যাসেট রেফারেন্স করা

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

Jetpack Compose-এ, আপনার ভেক্টর দেখানোর সবচেয়ে সাধারণ উপায় হল Icon বা Image কম্পোজেবল ব্যবহার করা।

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
)

অন্যান্য জটিল পরিস্থিতির জন্য, যেমন কোনও ছবি কাস্টমাইজ করা বা পারফর্ম্যান্স অপ্টিমাইজ করা, ছবির সাথে কাজ করা দেখুন। ভেক্টর অ্যানিমেট করার জন্য, Compose-এ অ্যানিমেটেড ভেক্টর ইমেজ দেখুন।

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

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

PNG জেনারেশন টেকনিক ব্যবহার করার সময়, ভেক্টর অ্যাসেট স্টুডিও নিশ্চিত করে যে ভেক্টর ড্রয়েবেল এবং PNG ম্যাচ করে এবং ম্যানিফেস্টে সঠিক কোড আছে। আপনি যদি Android 4.4 (API লেভেল 20) এবং তার নিচের ভার্সনে কাজ করে না এমন কোড যোগ করেন, তাহলে আপনার ভেক্টর এবং PNG ছবি আলাদা হতে পারে। এছাড়াও, আপনার করা পরিবর্তন যাতে কাজ করে তার জন্য ম্যানিফেস্টে কোড আছে কিনা তা নিশ্চিত করতে হবে।

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

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

    XML ফাইলটি এডিটর এবং প্রিভিউ উইন্ডোতে দেখা যাবে।

    ছবি ৪। কোড এডিটর এবং প্রিভিউ উইন্ডোতে ভেক্টর XML ফাইল দেখানো হয়েছে।

  2. সর্বনিম্ন API লেভেলে যা কাজ করে তার উপর ভিত্তি করে XML কোড এডিট করুন:

    • Android 5.0 (API লেভেল 21) এবং তার পরবর্তী ভার্সন - ভেক্টর অ্যাসেট স্টুডিও Drawable এবং VectorDrawable এলিমেন্টের সবকটিকেই সাপোর্ট করে। আপনি XML এলিমেন্ট যোগ করতে এবং মান পরিবর্তন করতে পারবেন। Jetpack Compose-এর জন্য, আপনি আরও কাস্টমাইজেশনের জন্য ImageVector-এ ভেক্টর ড্রয়েবেল লোড করতে পারেন।

    • Android 4.4 (API লেভেল ২০) এবং তার আগের ভার্সন - ভেক্টর অ্যাসেট স্টুডিওতে Drawable এলিমেন্টের সবকটি এবং VectorDrawable এলিমেন্টের সাবসেট কাজ করে। তালিকার জন্য ভেক্টর ড্রয়েবেল ব্যাকওয়ার্ড-কম্প্যাটিবিলিটি সমাধান দেখুন। আপনি জেনারেট করা কোডে ভ্যালু পরিবর্তন করতে এবং কাজ করে এমন XML এলিমেন্ট যোগ করতে পারবেন।

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

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

    ছবি ৫. কোড এডিটরের বাঁদিকের মার্জিনে একটি PNG ছবি দেখানো হয়েছে।

প্রোজেক্ট থেকে ভেক্টর ড্রয়েবেল মুছে দেওয়া

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

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

    নিরাপদে মুছে দিন ডায়ালগটি দেখা যাবে।

  2. প্রোজেক্টে ফাইলটি কোথায় ব্যবহার করা হয়েছে তা খুঁজে পেতে বিকল্প বেছে নিন এবং ঠিক আছে বিকল্পে ক্লিক করুন।

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

  3. বিল্ড > ক্লিন প্রোজেক্ট বিকল্প বেছে নিন।

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

ভেক্টর ড্রয়েবেল সহ অ্যাপ ডেলিভার করা

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

আপনার ন্যূনতম API লেভেলে Android 4.4 (API লেভেল 20) বা তার নিচের ভার্সন অন্তর্ভুক্ত থাকলে, এবং আপনার প্রোজেক্টে সংশ্লিষ্ট ভেক্টর ড্রয়েবেল ও রাস্টার ইমেজ থাকলে, আপনার APK ফাইল ডেলিভার করার জন্য দুটি বিকল্প আছে:

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

PSD ফাইলের জন্য সহায়তা ও বিধিনিষেধ

ভেক্টর অ্যাসেট স্টুডিওতে PSD ফাইলের সব ফিচার কাজ করে না। নিম্নলিখিত তালিকাটি কাজ করে এবং কাজ করে না এমন PSD বৈশিষ্ট্য এবং কিছু কনভার্সন সংক্রান্ত বিবরণ সংক্ষিপ্ত করে।

ডকুমেন্ট

এগুলি কাজ করে:

  • বিটম্যাপ, গ্রেস্কেল, ইন্ডেক্সড, RGB, ল্যাব বা CMYK-এর PSD কালার মোড।
  • ৮, ১৬ বা ৩২ বিটের কালার ডেপথ।

কনভার্সনের বিবরণ:

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

এগুলি কাজ করে না:

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

আকার

এগুলি কাজ করে:

  • ক্লিপিং বেস অন্য কোনও আকারের হলে ক্লিপিং মাস্ক।
  • শেপ অপারেশন, যার মধ্যে মার্জ/যোগ করা, ইন্টারসেক্ট, বিয়োগ এবং বাদ দেওয়া অন্তর্ভুক্ত।

এগুলি কাজ করে না:

  • Photoshop শেপে ব্যবহৃত জোড়-বিজোড় ফিল রুল। Android 6.0 (API লেভেল ২৩) এবং তার আগের ভার্সনে, ভেক্টর ড্রয়েবেল শুধুমাত্র নন-জিরো ফিল রুল সাপোর্ট করে। স্বয়ং-ছেদকারী আকৃতির ক্ষেত্রে, এই সীমাবদ্ধতার ফলে 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 ইমপোর্টার এই ফিচারগুলি সাপোর্ট করে না

আগের কাজ করে এমন ফিচার বিভাগে তালিকাভুক্ত নয় এমন যেকোনও ফিচার কাজ করে না। উল্লেখযোগ্য যেসব ফিচার কাজ করে না সেগুলি হল:

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

অতিরিক্ত রিসোর্স

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

ডকুমেন্টেশন

কন্টেন্ট দেখে