इंक

  
बेहतरीन पेन ऐप्लिकेशन बनाने में मदद करना. बेहतरीन परफ़ॉर्मेंस और शानदार इंक़िंग अनुभव के लिए, डेवलपर के लिए एंट्री की ज़रूरी शर्तें कम करें.
नया अपडेट स्टेबल रिलीज़ रिलीज़ कैंडिडेट बीटा रिलीज़ ऐल्फ़ा रिलीज़
8 अक्टूबर, 2025 - - - 1.0.0-alpha07

डिपेंडेंसी का एलान करना

Ink पर डिपेंडेंसी जोड़ने के लिए, आपको अपने प्रोजेक्ट में Google Maven रिपॉज़िटरी जोड़नी होगी. ज़्यादा जानकारी के लिए, Google की Maven रिपॉज़िटरी पढ़ें.

अपने ऐप्लिकेशन या मॉड्यूल के लिए, build.gradle फ़ाइल में उन आर्टफ़ैक्ट की डिपेंडेंसी जोड़ें जिनकी आपको ज़रूरत है:

Groovy

dependencies {
  
    implementation "androidx.ink:ink-authoring:1.0.0-alpha07"
    implementation "androidx.ink:ink-brush:1.0.0-alpha07"
    implementation "androidx.ink:ink-geometry:1.0.0-alpha07"
    implementation "androidx.ink:ink-nativeloader:1.0.0-alpha07"
    implementation "androidx.ink:ink-rendering:1.0.0-alpha07"
    implementation "androidx.ink:ink-strokes:1.0.0-alpha07"
    
}

Kotlin

dependencies {


    implementation("androidx.ink:ink-authoring:1.0.0-alpha07")
    implementation("androidx.ink:ink-brush:1.0.0-alpha07")
    implementation("androidx.ink:ink-geometry:1.0.0-alpha07")
    implementation("androidx.ink:ink-nativeloader:1.0.0-alpha07")
    implementation("androidx.ink:ink-rendering:1.0.0-alpha07")
    implementation("androidx.ink:ink-strokes:1.0.0-alpha07")
}

डिपेंडेंसी के बारे में ज़्यादा जानने के लिए, बिल्ड डिपेंडेंसी जोड़ना लेख पढ़ें.

सुझाव/राय दें या शिकायत करें

आपके सुझाव, शिकायत या राय से Jetpack को बेहतर बनाने में मदद मिलती है. अगर आपको कोई नई समस्या मिलती है या आपके पास इस लाइब्रेरी को बेहतर बनाने के लिए सुझाव हैं, तो हमें बताएं. कृपया नई समस्या सबमिट करने से पहले, इस लाइब्रेरी में शामिल मौजूदा समस्याओं को देखें. स्टार बटन पर क्लिक करके, किसी मौजूदा समस्या के लिए वोट किया जा सकता है.

नई समस्या दर्ज करने का तरीका

ज़्यादा जानकारी के लिए, Issue Tracker का दस्तावेज़ देखें.

इस आर्टफ़ैक्ट के लिए कोई रिलीज़ नोट नहीं है.

वर्शन 1.0

वर्शन 1.0.0-alpha07

08 अक्टूबर, 2025

androidx.ink:ink-*:1.0.0-alpha07 रिलीज़ हो गया है. वर्शन 1.0.0-alpha07 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • StockBrushes highlighter और emojiHighlighter के लिए SelfOverlap पैरामीटर, जो InProgressStrokesView rendererFactory की जगह लेता है
  • स्ट्रोक इनपुट को आसान बनाने की सुविधा को बेहतर तरीके से लागू किया गया है. इससे डिवाइस के मेज़रमेंट में होने वाले नॉइज़ को खत्म किया जा सकता है. साथ ही, यह सुविधा स्ट्रोक इनपुट को आसान बनाने की पिछली सुविधा की तुलना में, उपयोगकर्ता के इनपुट को ज़्यादा सटीक तरीके से दिखाती है
  • कोण की इकाइयों (डिग्री बनाम रेडियन), ट्रांसफ़ॉर्म (स्क्वेयर बनाम शियर) वगैरह के लिए, अन्य Android/Jetpack API के साथ बेहतर तरीके से काम करता है

एपीआई में हुए बदलाव

  • कोण से जुड़े एपीआई में बदलाव करके, डिग्री का इस्तेमाल करें और नामों में यूनिट शामिल करें. एंगल कन्वर्ज़न यूटिलिटी में यूनिट के बारे में साफ़ तौर पर बताएं और डिग्री और रेडियन, दोनों के लिए सहायता उपलब्ध कराएं. StockBrushes एपीआई में बदलाव करके, स्टॉक ब्रश वर्शन को फ़ैक्ट्री फ़ंक्शन पैरामीटर के तौर पर लें और हाइलाइटर ब्रश के लिए, सेल्फ़-ओवरलैप के व्यवहार को कंट्रोल करने की सुविधा उपलब्ध कराएं. MutableAffineTransform.populateFromTranslate का नाम बदलकर populateFromTranslation करें और InProgressStrokesView.setRenderFactory/getRenderFactory को हटाएं. (Id9eab, b/436656418)
  • शियर का नाम बदलकर स्क्यू किया गया, कुछ दस्तावेज़ों में ज़्यादा जानकारी जोड़ी गई, CanvasStrokeRenderer.strokeModifiedRegionOutsetPx हटाया गया, और InProgressStroke.changesWithTime जोड़ा गया (Ia5e70, b/436656418)

गड़बड़ियां ठीक की गईं

  • इनपुट मॉडलिंग को बेहतर बनाया गया है, ताकि स्ट्रोक, इनपुट को ज़्यादा सटीक तरीके से दिखा सकें. (I93097)

वर्शन 1.0.0-alpha06

13 अगस्त, 2025

androidx.ink:ink-*:1.0.0-alpha06 रिलीज़ हो गया है. वर्शन 1.0.0-alpha06 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • इमोजी हाइलाइटर स्टॉक ब्रश: अपने दस्तावेज़ के कुछ हिस्सों को हाइलाइट करने के लिए, अपनी पसंद का कोई भी इमोजी चुनें. इससे दस्तावेज़ को मज़ेदार बनाया जा सकता है और उसे व्यवस्थित रखने में मदद मिलती है.
  • ज्यामिति मॉड्यूल की मूल आकृतियों के लिए ज़्यादा हेल्पर एपीआई
  • डिवाइस के साथ काम करने की क्षमता और परफ़ॉर्मेंस को बेहतर बनाना

एपीआई में हुए बदलाव

  • InProgressStrokesView के लिए आसान एपीआई, फ़िनिश ज्योमेट्री एपीआई, इमोजी हाइलाइटर, पॉप्युलेट करने के तरीकों के लिए MutableParallelogram से फ़ैक्ट्री फ़ंक्शन हटाएं, और रैंडमाइज़ किए गए ब्रश के व्यवहार के लिए सीड का इस्तेमाल करने की सुविधा. (I38280)

गड़बड़ियां ठीक की गईं

  • परफ़ॉर्मेंस से जुड़ी समस्या और गीले/सूखे रंग की एक जैसी न होने की समस्या को ठीक किया गया है. (Ifcd1d)

वर्शन 1.0.0-alpha05

18 जून, 2025

androidx.ink:ink-*:1.0.0-alpha05 रिलीज़ हो गया है. वर्शन 1.0.0-alpha05 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • ऑथरिंग, ब्रश, और ज्यामिति मॉड्यूल के लिए इंटरऑपरेबिलिटी मॉड्यूल कंपोज़ करना

एपीआई में हुए बदलाव

  • Compose के साथ काम करने वाले नए मॉड्यूल और एपीआई, एपीआई क्लीनअप (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

9 अप्रैल, 2025

androidx.ink:ink-*:1.0.0-alpha04 रिलीज़ हो गया है. वर्शन 1.0.0-alpha04 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • कस्टम BrushFamily ऑब्जेक्ट के लिए, एक्सपेरिमेंट के तौर पर नए एपीआई पेश करता है. इससे पेंसिल और लेज़र पॉइंटर जैसे नए ब्रश इस्तेमाल किए जा सकते हैं. इस एपीआई की मदद से, इस प्रोटो में तय किए गए ब्रशिंग लोड किए जा सकते हैं. (I8809a)

वर्शन 1.0.0-alpha03

12 फ़रवरी, 2025

androidx.ink:ink-*:1.0.0-alpha03 रिलीज़ हो गया है. वर्शन 1.0.0-alpha03 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • डिस्क और नेटवर्क के साइज़ में बचत: StrokeInputBatch को क्रम से लगाया जाता है. इससे कोड की कई लाइनें सेव हो जाती हैं. साथ ही, इससे बनने वाले ऑब्जेक्ट, आम तौर पर सेव किए गए स्ट्रोक के साइज़ का बहुत छोटा हिस्सा होते हैं. (Ie898d)
  • लासो सिलेक्शन: सिलेक्शन स्ट्रोक बनाने के लिए डैश वाली लाइन का ब्रश और सिलेक्शन स्ट्रोक को ज्यामिति से जुड़ी क्वेरी के लिए PartitionedMesh में बदलने का फ़ंक्शन. (Ia38a0)

वर्शन 1.0.0-alpha02

11 दिसंबर, 2024

androidx.ink:ink-*:1.0.0-alpha02 रिलीज़ हो गया है. वर्शन 1.0.0-alpha02 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • कई गड़बड़ियां ठीक की गईं. (I05dd8)

बाहरी योगदान

  • BuildCompat.isAtLeastV का इस्तेमाल बंद करें. कॉल करने वालों को सीधे तौर पर SDK_INT की तुलना 35 से करनी चाहिए. (I294d1)

वर्शन 1.0.0-alpha01

2 अक्टूबर, 2024

androidx.ink:ink-*:1.0.0-alpha01 रिलीज़ हो गया है. वर्शन 1.0.0-alpha01 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • यह एक मॉड्यूलर और कॉन्फ़िगर की जा सकने वाली लाइब्रेरी है. इसकी मदद से, आपके ऐप्लिकेशन में लिखे गए शानदार इंक स्ट्रोक को आसानी से बनाया, रेंडर किया, और उनमें बदलाव किया जा सकता है.

एपीआई में हुए बदलाव

डेवलपर को बेहतर इंक़िंग अनुभव बनाने में मदद करने के लिए नए मॉड्यूल:

  • लिखना: इनपुट मिलने पर, स्ट्रोक को रीयल टाइम में रेंडर करने के लिए, InProgressStrokesView का इस्तेमाल करें. इससे बेहतर परफ़ॉर्मेंस मिलती है और इंतज़ार में लगने वाला समय कम होता है.
  • रेंडरिंग: ऐप्लिकेशन के यूज़र इंटरफ़ेस के हिस्से के तौर पर, इंक स्ट्रोक को पूरा करने के लिए CanvasStrokeRenderer और ViewStrokeRenderer का इस्तेमाल करें.
  • स्ट्रोक: ये इनकिंग सुविधाओं के लिए इस्तेमाल किए जाने वाले मुख्य डेटा टाइप हैं.
  • ब्रश: कॉन्फ़िगर करने लायक यह स्पेसिफ़िकेशन बताता है कि उपयोगकर्ता के इनपुट के जवाब में स्ट्रोक कैसे दिखेंगे और काम करेंगे.
  • ज्यामिति: इंटरसेक्शन और कवरेज जैसे जियोमेट्रिक ऑपरेशन, ताकि सिलेक्शन और मिटाने जैसे टूल को बेहतर बनाया जा सके.