কালি

সেরা মানের পেন অ্যাপ তৈরিতে অনুপ্রেরণা যোগান। উচ্চ পারফরম্যান্স ও সুন্দর ইঙ্কিং অভিজ্ঞতার জন্য ডেভেলপারদের প্রবেশে বাধা কমান। অ্যান্ড্রয়েড এবং সার্ভার-সাইড JVM-এ ইঙ্কিং সমর্থন করে (বর্তমানে x86_64-এর জন্য লিনাক্সে সমর্থিত)।
সর্বশেষ আপডেট স্থিতিশীল রিলিজ রিলিজ প্রার্থী বিটা রিলিজ আলফা রিলিজ
১১ মার্চ, ২০২৬ ১.০.০ - - ১.১.০-আলফা০১

নির্ভরতা ঘোষণা করা

Ink-এর উপর নির্ভরতা যোগ করতে হলে, আপনাকে আপনার প্রজেক্টে Google Maven রিপোজিটরি যোগ করতে হবে। আরও তথ্যের জন্য Google-এর Maven রিপোজিটরি পড়ুন।

আপনার অ্যাপ বা মডিউলের build.gradle ফাইলে প্রয়োজনীয় আর্টিফ্যাক্টগুলোর ডিপেন্ডেন্সি যোগ করুন:

গ্রোভি

dependencies {
  
    implementation "androidx.ink:ink-authoring:1.1.0-alpha01"
    implementation "androidx.ink:ink-authoring-compose:1.1.0-alpha01"
    implementation "androidx.ink:ink-brush:1.1.0-alpha01"
    implementation "androidx.ink:ink-brush-compose:1.1.0-alpha01"
    implementation "androidx.ink:ink-geometry:1.1.0-alpha01"
    implementation "androidx.ink:ink-geometry-compose:1.1.0-alpha01"
    implementation "androidx.ink:ink-nativeloader:1.1.0-alpha01"
    implementation "androidx.ink:ink-rendering:1.1.0-alpha01"
    implementation "androidx.ink:ink-storage:1.1.0-alpha01"
    implementation "androidx.ink:ink-strokes:1.1.0-alpha01"
    
}

কোটলিন

dependencies {


    implementation("androidx.ink:ink-authoring:1.1.0-alpha01")
    implementation("androidx.ink:ink-authoring-compose:1.1.0-alpha01")
    implementation("androidx.ink:ink-brush:1.1.0-alpha01")
    implementation("androidx.ink:ink-brush-compose:1.1.0-alpha01")
    implementation("androidx.ink:ink-geometry:1.1.0-alpha01")
    implementation("androidx.ink:ink-geometry-compose:1.1.0-alpha01")
    implementation("androidx.ink:ink-nativeloader:1.1.0-alpha01")
    implementation("androidx.ink:ink-rendering:1.1.0-alpha01")
    implementation("androidx.ink:ink-storage:1.1.0-alpha01")
    implementation("androidx.ink:ink-strokes:1.1.0-alpha01")
}

নির্ভরতা সম্পর্কে আরও তথ্যের জন্য, 'বিল্ড নির্ভরতা যোগ করুন ' দেখুন।

প্রতিক্রিয়া

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

একটি নতুন সমস্যা তৈরি করুন

আরও তথ্যের জন্য ইস্যু ট্র্যাকার ডকুমেন্টেশন দেখুন।

সংস্করণ ১.১

সংস্করণ 1.1.0-alpha01

১১ মার্চ, ২০২৬

androidx.ink:ink-*:1.1.0-alpha01 প্রকাশিত হয়েছে। সংস্করণ 1.1.0-alpha01-এ এই কমিটগুলো রয়েছে।

নতুন বৈশিষ্ট্য

  • বিভিন্ন ছোটখাটো বাগ সংশোধন

এপিআই পরিবর্তন

  • InProgressShape.isCanceled যোগ করা হয়েছে, অথরিং মডিউলের কনকারেন্সি সমস্যা সমাধান করা হয়েছে। ( Ibfd32 , b/474385518 , b/470695777 )
  • CanvasStrokeRenderer.create এবং InProgressStroke.updateShape এর শূন্য-আর্গুমেন্ট সংস্করণ জাভাতে উন্মুক্ত করুন ( Id80a1 , b/457715938 )

বাগ সংশোধন

  • API 29-32-এর জন্য উইন্ডো থেকে ডিটাচ/রিঅ্যাটাচ করার পর InProgressStrokesView তে ক্র্যাশ হওয়ার বাগটি সংশোধন করা হয়েছে, Vec অপারেশনগুলোকে ইনপুট এবং আউটপুট হিসেবে একই MutableVec গ্রহণ করার অনুমতি দেওয়া হয়েছে, এবং Proguard কনফিগারেশনগুলোকে একটি ফাইলে একীভূত করা হয়েছে। ( Ia4da0 )
  • গ্রাফিক্স-কোরের উপর নির্ভরতা 1.0.4-এ বৃদ্ধি করুন ( Ibfa18 )

সংস্করণ ১.০

সংস্করণ ১.০.০

১৭ ডিসেম্বর, ২০২৫

androidx.ink:ink-*:1.0.0 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।

বাগ সংশোধন

  • graphics-core উপর নির্ভরতা 1.0.4-এ বৃদ্ধি করুন ( Ibfa18 )

সংস্করণ 1.0.0-rc01

০৩ ডিসেম্বর, ২০২৫

androidx.ink:ink-*:1.0.0-rc01 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-rc01-এ এই কমিটগুলো রয়েছে।

বাগ সংশোধন

  • নির্ভরতার সংস্করণ হালনাগাদ করুন। ( Iecd04 )

সংস্করণ 1.0.0-beta02

১৯ নভেম্বর, ২০২৫

androidx.ink:ink-*:1.0.0-beta02 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-beta02-এ এই কমিটগুলো রয়েছে।

এপিআই পরিবর্তন

  • পরীক্ষামূলক কাস্টম লো ল্যাটেন্সি শেপ এপিআই, বিভিন্ন বাগ ফিক্স ( Ib8d2f )

বাগ সংশোধন

  • StrokeInputBatch সিরিয়ালাইজেশনে ফ্লোটিং পয়েন্ট প্রিসিশন উন্নত করা হয়েছে, যা বারবার এনকোডিং এবং ডিকোডিংয়ের ফলে মানের বিচ্যুতি সংশোধন করে।
  • আরও শক্তিশালী সিস্টেম ইনপুট স্যানিটাইজেশন।
  • InProgressStrokes কম্পোজেবলে ব্রাশ টেক্সচার সাপোর্ট ঠিক করা হয়েছে

সংস্করণ 1.0.0-beta01

২২ অক্টোবর, ২০২৫

androidx.ink:ink-*:1.0.0-beta01 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-beta01-এ এই কমিটগুলো রয়েছে।

বাগ সংশোধন

  • beta01 রিলিজ ( I9900e ) এর প্রস্তুতিমূলক বাগ সংশোধন।
  • খুব কাছাকাছি থাকা একাধিক মডেল করা ইনপুটের কারণে স্ট্রোকে সৃষ্ট রেন্ডারিং আর্টিফ্যাক্ট হ্রাস করুন।
  • ইনপুট মডেলিং-এ একটি বিরল ক্র্যাশ সংশোধন করা হয়েছে।

সংস্করণ 1.0.0-alpha07

০৮ অক্টোবর, ২০২৫

androidx.ink:ink-*:1.0.0-alpha07 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha07-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।

নতুন বৈশিষ্ট্য

  • StockBrushes highlighter এবং emojiHighlighter এর জন্য SelfOverlap প্যারামিটার, যা InProgressStrokesView rendererFactory প্রতিস্থাপন করে।
  • স্ট্রোক ইনপুট স্মুথিং-এর উন্নত বাস্তবায়ন, যা ডিভাইসের পরিমাপজনিত নয়েজ দূর করে এবং পূর্ববর্তী স্ট্রোক ইনপুট স্মুথিং বাস্তবায়নের চেয়ে ব্যবহারকারীর ইনপুটকে আরও নির্ভুলভাবে প্রতিফলিত করে।
  • কোণের একক (ডিগ্রি বনাম রেডিয়ান), ট্রান্সফর্ম (স্কিউ বনাম শিয়ার) এবং আরও অনেক কিছুর ক্ষেত্রে অন্যান্য অ্যান্ড্রয়েড/জেটপ্যাক এপিআই-এর সাথে সামঞ্জস্য উন্নত করা হয়েছে।

এপিআই পরিবর্তন

  • কোণ-সম্পর্কিত API পরিবর্তন করে ডিগ্রি ব্যবহার করুন এবং নামে একক অন্তর্ভুক্ত করুন, কোণ রূপান্তর ইউটিলিটিগুলিতে একক সম্পর্কে স্পষ্টতা আনুন এবং ডিগ্রি ও রেডিয়ান উভয়কেই সমর্থন করুন, StockBrushes API পরিবর্তন করে ফ্যাক্টরি ফাংশন প্যারামিটার হিসাবে স্টক ব্রাশ সংস্করণ গ্রহণ করুন এবং হাইলাইটার ব্রাশের জন্য সেলফ-ওভারল্যাপ আচরণ নিয়ন্ত্রণ উন্মুক্ত করুন, MutableAffineTransform.populateFromTranslate এর নাম পরিবর্তন করে populateFromTranslation রাখুন, InProgressStrokesView.setRenderFactory/getRenderFactory সরিয়ে ফেলুন। ( Id9eab , b/436656418 )
  • shear-এর নাম পরিবর্তন করে skew রাখা, কিছু ডকুমেন্টেশন স্পষ্ট করা, CanvasStrokeRenderer.strokeModifiedRegionOutsetPx অপসারণ করা, InProgressStroke.changesWithTime যোগ করা ( Ia5e70 , b/436656418 )

বাগ সংশোধন

  • স্ট্রোকগুলো যাতে ইনপুটকে আরও নির্ভুলভাবে প্রতিফলিত করে, সেজন্য ইনপুট মডেলিং উন্নত করুন। ( I93097 )

সংস্করণ 1.0.0-alpha06

১৩ আগস্ট, ২০২৫

androidx.ink:ink-*:1.0.0-alpha06 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha06-এ এই কমিটগুলো রয়েছে।

নতুন বৈশিষ্ট্য

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

এপিআই পরিবর্তন

  • InProgressStrokesView এর জন্য সরলীকৃত API, জ্যামিতি API-গুলো সম্পূর্ণ করা, ইমোজি হাইলাইটার, MutableParallelogram থেকে ফ্যাক্টরি ফাংশন সরিয়ে populate মেথড ব্যবহার, র‍্যান্ডমাইজড ব্রাশ আচরণের জন্য সিড (seed) সমর্থন। ( I38280 )

বাগ সংশোধন

  • পারফরম্যান্স সংক্রান্ত একটি সমস্যা এবং ভেজা/শুকনো রঙের সামঞ্জস্যের সমস্যা সমাধান করা হয়েছে। ( Ifcd1d )

সংস্করণ 1.0.0-alpha05

১৮ জুন, ২০২৫

androidx.ink:ink-*:1.0.0-alpha05 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha05-এ এই কমিটগুলো রয়েছে।

নতুন বৈশিষ্ট্য

  • অথরিং, ব্রাশ এবং জ্যামিতি মডিউলগুলির জন্য আন্তঃকার্যক্ষমতা মডিউল তৈরি করুন

এপিআই পরিবর্তন

  • নতুন কম্পোজ আন্তঃকার্যক্ষমতা মডিউল এবং এপিআই, এপিআই পরিষ্করণ ( I0e464 )
  • InProgressStroke.enqueueInputs/updateShape মেথডগুলো, যেগুলো kotlin.Result রিটার্ন করত, সেগুলো সরিয়ে ফেলা হয়েছে; ক্লায়েন্টদের পরিবর্তে enqueueInputsOrThrow বা enqueueInputsOrIgnore মতো মেথড ব্যবহার করা উচিত। InProgressStroke.getNeedsUpdate এর নাম পরিবর্তন করে isUpdateNeeded রাখা হয়েছে। InProgressStroke.populateOutlinePosition এখন তার আউটপুট প্যারামিটার রিটার্ন করে, যা Ink-এর অন্যান্য মেথডের সাথে সামঞ্জস্য রেখে কল চেইনিং-এর সুযোগ দেয়। TextureBitmapStore ইন্টারফেসটি রেন্ডারিং মডিউল থেকে ব্রাশ মডিউলে সরানো হয়েছে। BoxAccumulator.populateFrom এখন একটি মিউটেবল BoxAccumulator এর পরিবর্তে একটি নালযোগ্য ইমিউটেবল Box গ্রহণ করার জন্য তৈরি করা হয়েছে। কী মিউটেট করা হচ্ছে তা আরও স্পষ্ট করার জন্য, কলারদের boxAccumulator.add(other) -কে boxAccumulator.add(other.box) এ পরিবর্তন করতে হবে। BrushUtil.toBuilderWithAndroidColor/createBuilderWithAndroidColor সরিয়ে ফেলা হয়েছে; এর পরিবর্তে কনস্ট্রাক্ট করার পর Brush.Builder এর setAndroidColor ব্যবহার করুন। ( Ia7155 )
  • পূর্বে পরীক্ষামূলক প্রপার্টি InProgressStrokesView.textureBitmapStore এখন প্রাইভেট করা হয়েছে। এই প্রপার্টিটির জন্য এখনও পাবলিক অ্যাক্সেসর রয়েছে। ( I1d706 )

বাগ সংশোধন

  • বহু কণা সম্বলিত কাস্টম ব্রাশের উন্নত পারফরম্যান্স।

সংস্করণ 1.0.0-alpha04

৯ এপ্রিল, ২০২৫

androidx.ink:ink-*:1.0.0-alpha04 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha04-এ এই কমিটগুলো রয়েছে।

নতুন বৈশিষ্ট্য

  • কাস্টম BrushFamily অবজেক্টের জন্য নতুন পরীক্ষামূলক এপিআই চালু করা হয়েছে, যা পেন্সিল এবং লেজার পয়েন্টারের মতো নতুন ব্রাশ ব্যবহারের সুযোগ করে দেয়। এই এপিআই এই প্রোটো দ্বারা সংজ্ঞায়িত ব্রাশ লোড করার অনুমতি দেয়। ( I8809a )

সংস্করণ 1.0.0-alpha03

১২ ফেব্রুয়ারী, ২০২৫

androidx.ink:ink-*:1.0.0-alpha03 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha03-এ এই কমিটগুলো রয়েছে।

নতুন বৈশিষ্ট্য

  • ডিস্ক এবং নেটওয়ার্কের আকার সাশ্রয়: StrokeInputBatch এর সিরিয়ালাইজেশন, যা অনেক লাইন কোড বাঁচায় এবং এর ফলে প্রাপ্ত অবজেক্টগুলো প্রচলিতভাবে সংরক্ষিত স্ট্রোকের আকারের একটি অতি ক্ষুদ্র ভগ্নাংশ হয়। ( Ie898d )
  • ল্যাসো সিলেকশন: সিলেকশন স্ট্রোক আঁকার জন্য ড্যাশযুক্ত লাইন ব্রাশ, এবং জ্যামিতি কোয়েরির জন্য সিলেকশন স্ট্রোকটিকে একটি PartitionedMesh এ পরিণত করার ফাংশন। ( Ia38a0 )

সংস্করণ 1.0.0-alpha02

১১ ডিসেম্বর, ২০২৪

androidx.ink:ink-*:1.0.0-alpha02 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha02-এ এই কমিটগুলো রয়েছে।

এপিআই পরিবর্তন

  • বিভিন্ন বাগ সংশোধন করা হয়েছে। ( I05dd8 )

বাহ্যিক অবদান

  • BuildCompat.isAtLeastV অপ্রচলিত করা হলো। এর পরিবর্তে কলকারীদের সরাসরি ৩৫-এর সাথে SDK_INT মিলিয়ে দেখা উচিত। ( I294d1 )

সংস্করণ 1.0.0-alpha01

২ অক্টোবর, ২০২৪

androidx.ink:ink-*:1.0.0-alpha01 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha01-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।

নতুন বৈশিষ্ট্য

  • আপনার অ্যাপ্লিকেশনে তৈরি করা সুন্দর ইঙ্ক স্ট্রোক সহজে তৈরি, রেন্ডার এবং ম্যানিপুলেট করার জন্য একটি মডিউলার ও কনফিগারযোগ্য লাইব্রেরি।

এপিআই পরিবর্তন

ডেভেলপারদের উন্নত ইঙ্কিং অভিজ্ঞতা তৈরিতে সাহায্য করার জন্য নতুন মডিউল:

  • অথরিং: ইনপুট পাওয়ার সাথে সাথে রিয়েল টাইমে স্ট্রোকের উচ্চ-পারফরম্যান্স ও কম ল্যাটেন্সির রেন্ডারিংয়ের জন্য InProgressStrokesView ব্যবহার করুন।
  • রেন্ডারিং: অ্যাপের ইউজার ইন্টারফেসের অংশ হিসেবে সমাপ্ত কালির আঁচড়গুলো আঁকতে CanvasStrokeRenderer এবং ViewStrokeRenderer ব্যবহার করুন।
  • স্ট্রোক: বৈশিষ্ট্যগুলি কালি দিয়ে ফুটিয়ে তোলার জন্য ব্যবহৃত মূল ডেটা টাইপ।
  • ব্রাশ: ব্যবহারকারীর ইনপুটের প্রতিক্রিয়ায় স্ট্রোকগুলো দেখতে কেমন হবে ও কীভাবে কাজ করবে তার পরিবর্তনযোগ্য বিবরণ।
  • জ্যামিতি: ছেদ ও আচ্ছাদনের মতো জ্যামিতিক ক্রিয়াকলাপ থেকে শুরু করে নির্বাচন ও মোছার মতো শক্তিশালী সরঞ্জাম পর্যন্ত।