প্রকল্প সম্পর্কে

সিগনেচার প্যাড হলো একটি জাভাস্ক্রিপ্ট লাইব্রেরি যা ব্রাউজারে মসৃণ স্বাক্ষর আঁকার জন্য ব্যবহৃত হয়। এটি HTML5 ক্যানভাস এলিমেন্টের উপর ভিত্তি করে তৈরি এবং ভেরিয়েবল-প্রস্থ বেজিয়ার কার্ভ ইন্টারপোলেশন ব্যবহার করে, যা স্কয়ার কোম্পানির "স্মুথার সিগনেচারস" নিবন্ধে বর্ণিত একটি পদ্ধতি। লাইব্রেরিটির কোনো বাহ্যিক ডিপেন্ডেন্সি নেই এবং এটি আধুনিক ডেস্কটপ ও মোবাইল ব্রাউজারে কাজ করার উদ্দেশ্যে তৈরি। ইনস্টলেশন npm (`npm install --save signature_pad`) বা Yarn এর মাধ্যমে করা যায়, এবং এটি CDN থেকে একটি স্ক্রিপ্ট ট্যাগ দিয়েও সরাসরি লোড করা যায়। এটি UMD এবং ES6 মডিউল উভয় বিল্ড হিসেবে বিতরণ করা হয়। মূল API: একটি ক্যানভাস এলিমেন্টে `SignaturePad` ইনস্ট্যান্স তৈরি করার পর, আপনি `toDataURL()` দিয়ে অঙ্কনটি PNG, JPEG (ঐচ্ছিক কোয়ালিটি সহ) বা SVG ডেটা URL হিসেবে এক্সপোর্ট করতে পারেন, অথবা `toSVG()` দিয়ে কাঁচা SVG মার্কআপ পেতে পারেন। `fromDataURL()` দিয়ে স্বাক্ষর আবার লোড করা যায়, অথবা `toData()` দিয়ে পয়েন্ট গ্রুপের অ্যারে হিসেবে উপস্থাপন করা যায় এবং `fromData()` দিয়ে পুনরুদ্ধার করা যায়। অন্যান্য পদ্ধতির মধ্যে রয়েছে `redraw()`, `clear()`, `isEmpty()`, `off()` এবং `on()` যা ইভেন্ট হ্যান্ডলার আনবাইন্ড ও রিবাইন্ড করার জন্য ব্যবহৃত হয়। অপশনগুলির মধ্যে রয়েছে `dotSize`, `minWidth`, `maxWidth`, `throttle`, `minDistance`, `backgroundColor`, `penColor`, `velocityFilterWeight` এবং `canvasContextOptions`। এগুলি ইনিশিয়ালাইজেশনের সময় সেট করা যায় বা রানটাইমে পরিবর্তন করা যায়। ইভেন্টগুলির মধ্যে রয়েছে `beginStroke` (বাতিলযোগ্য), `endStroke`, `beforeUpdateStroke` এবং `afterUpdateStroke`, যা `addEventListener` এর মাধ্যমে নিবন্ধিত হয়। README-তে ব্যবহারিক বিষয়গুলিও নথিভুক্ত করা হয়েছে: `devicePixelRatio` দিয়ে ক্যানভাস স্কেল করে উচ্চ-DPI স্ক্রিন পরিচালনা, রিসাইজে ব্রাউজার-সূচিত ক্যানভাস ক্লিয়ারিং মোকাবেলা, সার্ভার-সাইডে ডেটা URI ইমেজ ডিকোড করা (Ruby, PHP এবং C# উদাহরণ সহ), স্বাক্ষরের চারপাশের খালি স্থান ছাঁটাই এবং বিদ্যমান ইমেজের উপর অঙ্কন। প্রকল্পটি MIT লাইসেন্সের অধীনে প্রকাশিত।