Canvas element
کینوس عنصر ایچ ٹی ایم ایل 5 کا حصہ ہے اور 2 ڈی شکلوں اور بٹ میپ امیجز کی متحرک، اسکرپٹ ایبل رینڈرنگ کی اجازت دیتا ہے۔ یہ ایک نچلی سطح کا، طریقہ کار کا ماڈل ہے جو بٹ میپ کو اپ ڈیٹ کرتا ہے۔ ایچ ٹی ایم ایل 5 کینوس 2 ڈی گیم بنانے میں بھی مدد کرتا ہے۔ جبکہ ایچ ٹی ایم ایل 5 کینوس اپنا 2 ڈی ڈرائنگ اے پی آئی پیش کرتا ہے، یہ اوپن جی ایل ای ایس کے ساتھ 3 ڈی رینڈرنگ کی اجازت دینے کے لیے ویب جی ایل اے پی آئی کی بھی حمایت کرتا ہے۔ ہسٹری کینوس کو ابتدائی طور پر ایپل نے 2004 میں اپنے میک او ایس ایکس ویب کٹ جزو میں استعمال کرنے کے لیے متعارف کرایا تھا، جس میں ڈیش بورڈ ویجٹ اور سفاری براؤزر جیسی ایپلی کیشنز کو طاقت دی گئی تھی۔ بعد میں، 2005 میں، اسے گیکو براؤزرز کے ورژن 1.8 میں اپنایا گیا، اور 2006 میں اوپیرا، اور ویب ہائپر ٹیکسٹ ایپلی کیشن ٹیکنالوجی ورکنگ گروپ (ڈبلیو ایچ اے ٹی ڈبلیو جی) نے اگلی نسل کی ویب ٹیکنالوجیز کے لیے نئی مجوزہ خصوصیات پر معیاری بنایا۔ استعمال ایک کینوس اونچائی اور چوڑائی کی صفات کے ساتھ ایچ ٹی ایم ایل کوڈ میں بیان کردہ کھینچنے کے قابل علاقے پر مشتمل ہوتا ہے۔ جاوا اسکرپٹ کوڈ دیگر عام 2 ڈی اے پی آئی کی طرح ڈرائنگ افعال کے مکمل سیٹ کے ذریعے علاقے تک رسائی حاصل کر سکتا ہے، اس طرح متحرک طور پر تیار کردہ گرافکس کی اجازت دیتا ہے۔ کینوس کے کچھ متوقع استعمال میں بلڈنگ گراف، اینیمیشن، گیم اور امیج کمپوزیشن شامل ہیں۔ کینوس کے ساتھ تعامل میں کینوس کے رینڈرنگ سیاق و سباق کو حاصل کرنا شامل ہے، جو اس بات کا تعین کرتا ہے کہ کینوس API، ویب جی ایل، یا ویب جی ایل 2 رینڈرنگ سیاق و سباق کا استعمال کرنا ہے یا نہیں۔ مثال مندرجہ ذیل کوڈ ایچ ٹی ایم ایل پیج میں کینوس عنصر بناتا ہے: <کینوس آئی ڈی = "مثال" چوڑائی = "200" اونچائی = "200"> یہ متن ظاہر ہوتا ہے اگر آپ کا براؤزر ایچ ٹی ایم ایل 5 کینوس کو سپورٹ نہیں کرتا ہے۔ </canvas> جاوا اسکرپٹ کا استعمال کرتے ہوئے، آپ کینوس پر کھینچ سکتے ہیں: ور مثال = document.getElementById ('مثال') ؛ ور سیاق و سباق = example.getContext ('2d') ؛ context.fillStyle = 'سرخ' ؛ context.fillRect (30,30,50,50) ؛ یہ کوڈ اسکرین پر ایک سرخ مستطیل کھینچتا ہے۔ کینوس اے پی آئی تمام کینوس سیاق و سباق کی صفات کو بچانے اور بحال کرنے کے لیے محفوظ () اور بحال () بھی فراہم کرتا ہے۔ کینوس عنصر کا سائز بمقابلہ ڈرائنگ سطح کا سائز ایک کینوس کے دراصل دو سائز ہوتے ہیں: عنصر کا سائز اور عنصر کی ڈرائنگ سطح کا سائز۔ عنصر کی چوڑائی اور اونچائی کی صفات کو ترتیب دینے سے یہ دونوں سائز طے ہوتے ہیں۔ سی ایس ایس صفات صرف عنصر کے سائز کو متاثر کرتی ہیں نہ کہ ڈرائنگ کی سطح کو۔ پہلے سے طے شدہ طور پر، کینوس عنصر کا سائز اور اس کی ڈرائنگ سطح کا سائز دونوں 300 اسکرین پکسلز چوڑے اور 150 اسکرین پکسلز اونچے ہیں۔ مثال میں دکھائی گئی فہرست میں، جو کینوس عنصر کے سائز کو ترتیب دینے کے لیے سی ایس ایس کا استعمال کرتا ہے، عنصر کا سائز 600 پکسلز چوڑا اور 300 پکسلز اونچا ہے، لیکن ڈرائنگ کی سطح کا سائز 300 پکسلز × 150 پکسلز کی ڈیفالٹ قیمت پر تبدیل نہیں ہوتا ہے۔ جب کینوس عنصر کا سائز اس کی ڈرائنگ کی سطح کے سائز سے میل نہیں کھاتا ہے، تو براؤزر عنصر کو فٹ کرنے کے لیے ڈرائنگ کی سطح کو اسکیل کرتا ہے (جس کے نتیجے میں حیرت انگیز اور ناپسندیدہ اثرات ہو سکتے ہیں)۔ عنصر کے سائز کی ترتیب اور سطح کے سائز کو مختلف اقدار پر ڈرائنگ کرنے کی مثال: <! DOCTYPE ایچ ٹی ایم ایل> <ایچ ٹی ایم ایل> <سر> <عنوان> کینوس عنصر کا سائز: 600 x 300، کینوس ڈرائنگ سطح کا سائز: 300 x 150 </عنوان> <سٹائل> باڈی {پس منظر: #dddddd ؛} #canvas {مارجن: 20 پیکس ؛ پیڈنگ: 20 پیکس ؛ پس منظر: #ffffff ؛ بارڈر: پتلی انسیٹ #aaaaaa ؛ چوڑائی: 600 پیکس ؛ اونچائی: 300 پیکس ؛} </سٹائل> </سر> <باڈی> <کینوس آئی ڈی = "کینوس"> کینوس سپورٹڈ نہیں ہے </کینوس> </باڈی> </ایچ ٹی ایم ایل> کینوس کے برعکس، جو رسٹر پر مبنی ہے، ایس وی جی ویکٹر پر مبنی ہے، تاکہ ہر تیار کردہ شکل کو سین گراف یا ڈاکیومنٹ آبجیکٹ ماڈل میں ایک آبجیکٹ کے طور پر یاد رکھا جائے، جسے بعد میں بٹ میپ میں پیش کیا جاتا ہے۔ اس کا مطلب یہ ہے کہ اگر کسی ایس وی جی آبجیکٹ کی صفات کو تبدیل کیا جاتا ہے، تو براؤزر خود بخود منظر کو دوبارہ پیش کر سکتا ہے۔ دوسری طرف کینوس آبجیکٹ فوری موڈ میں تیار کیے جاتے ہیں۔ اوپر کینوس کی مثال میں، آئتاکار ڈرا آپریشن کینوس میں ترمیم کرتا ہے، اور ایک آئتاکار کے طور پر اس کی نمائندگی کو نظام بھول جاتا ہے۔ اگر مستطیل کی پوزیشن کو تبدیل کرنا ہے، تو کینوس کو دوبارہ کھینچنے کی ضرورت ہوگی، بشمول کوئی بھی ایسی چیز جو مستطیل سے ڈھکی ہوئی ہو۔ مساوی ایس وی جی کیس میں، کوئی بھی صرف مستطیل کی پوزیشن کی صفات کو تبدیل کر سکتا ہے اور براؤزر اس بات کا تعین کرے گا کہ اسے دوبارہ کیسے پینٹ کیا جائے۔ اضافی جاوا اسکرپٹ لائبریریاں ہیں جو کینوس عنصر کے اندر ایس وی جی جیسی منظر کی صلاحیتوں کے لیے کینوس ماڈل کو خلاصہ کرتی ہیں۔ متعدد کینوس تہوں کو بھی استعمال کیا جا سکتا ہے، مطلب یہ ہے کہ تبدیلیوں کی ضرورت پڑنے پر صرف مخصوص تہوں کو دوبارہ بنانے کی ضرورت ہوتی ہے۔ ایس وی جی امیجز کی نمائندگی ایکس ایم ایل میں کی جاتی ہے، اور پیچیدہ مناظر کو ایکس ایم ایل ایڈیٹنگ ٹولز کے ساتھ بنایا اور برقرار رکھا جا سکتا ہے۔ ایس وی جی سین گراف ایونٹ ہینڈلرز کو آبجیکٹ سے منسلک کرنے کے قابل بناتا ہے، لہذا ایک مستطیل آن کلک ایونٹ کا جواب دے سکتا ہے۔ کینوس کے ساتھ ایک ہی فعالیت حاصل کرنے کے لیے، کسی کو دستی طور پر ماؤس کلک کے نقاط کو تیار کردہ مستطیل کے نقاط سے ملانا چاہیے تاکہ اس بات کا تعین کیا جا سکے کہ آیا اسے کلک کیا گیا تھا۔ تصوراتی طور پر، کینوس ایک نچلی سطح کا API ہے جس پر اعلی سطح کے انٹرفیس بنائے جا سکتے ہیں (مثال کے طور پر، SVG سپورٹ)۔ جاوا اسکرپٹ لائبریریاں ہیں جو ایسے براؤزرز کے لیے کینوس کا استعمال کرتے ہوئے جزوی ایس وی جی نفاذ فراہم کرتی ہیں جو ایس وی جی فراہم نہیں کرتے لیکن کینوس کی حمایت کرتے ہیں، جیسے کہ اینڈرائڈ 2. x میں براؤزر۔ تاہم، عام طور پر ایسا نہیں ہوتا ہے-وہ آزاد معیارات ہیں۔ صورتحال پیچیدہ ہے کیونکہ کینوس کے لیے سین گراف لائبریریاں ہیں، اور ایس وی جی میں کچھ بٹ میپ ہیرا پھیری کی فعالیت ہے۔ رد عمل اس کے تعارف کے وقت، کینوس عنصر کو ویب اسٹینڈرڈ کمیونٹی کی جانب سے ملے جلے ردعمل کا سامنا کرنا پڑا۔ ایس وی جی معیار کی حمایت کرنے کے بجائے ایک نیا ملکیتی عنصر بنانے کے ایپل کے فیصلے کے خلاف دلائل سامنے آئے ہیں۔ نحو کے بارے میں دیگر خدشات ہیں، جیسے کہ نیم اسپیس کی عدم موجودگی۔ 14 مارچ 2007 کو، ویب کٹ ڈویلپر ڈیو حیات نے ایپل کے سینئر پیٹنٹ کونسل، ہیلین پلاٹکا ورک مین کی طرف سے ایک ای میل فارورڈ کیا، جس میں کہا گیا تھا کہ ایپل نے ڈبلیو ایچ اے ٹی ڈبلیو جی کے ویب ایپلی کیشنز 1 ورکنگ ڈرافٹ، مورخہ 24 مارچ 2005، سیکشن 10.1، جس کا عنوان "گرافکس: بٹ میپ کینوس" ہے، سے متعلق تمام دانشورانہ املاک کے حقوق محفوظ رکھے ہیں، لیکن پیٹنٹ کو لائسنس دینے کے لیے دروازہ کھلا چھوڑ دیا اگر تفصیلات کو باضابطہ پیٹنٹ پالیسی کے ساتھ معیاری ادارے میں منتقل کیا جائے۔ اس سے ویب ڈویلپرز کے درمیان کافی بحث ہوئی اور ورلڈ وائڈ ویب کنسورشیم (ڈبلیو 3 سی) کے رائلٹی فری لائسنسوں کے واضح حق کے مقابلے میں ڈبلیو ایچ اے ٹی ڈبلیو جی کی پیٹنٹ پر پالیسی کی کمی کے بارے میں سوالات اٹھائے گئے۔ ایپل نے بعد میں ڈبلیو 3 سی کی رائلٹی فری پیٹنٹ لائسنسنگ شرائط کے تحت پیٹنٹ کا انکشاف کیا۔ افشاء کرنے کا مطلب یہ ہے کہ جب بھی کینوس عنصر ایچ ٹی ایم ایل ورکنگ گروپ کی طرف سے بنائی گئی مستقبل کی ڈبلیو 3 سی سفارش کا حصہ بنتا ہے تو ایپل کو پیٹنٹ کے لیے رائلٹی فری لائسنسنگ فراہم کرنے کی ضرورت ہوتی ہے۔ پرائیویسی کے خدشات کینوس فنگر پرنٹنگ آن لائن صارفین کو ٹریک کرنے کے لیے براؤزر فنگر پرنٹنگ کی متعدد تکنیکوں میں سے ایک ہے جو ویب سائٹس کو ایچ ٹی ایم ایل 5 کینوس عنصر کا استعمال کرتے ہوئے زائرین کی شناخت اور ٹریک کرنے کی اجازت دیتی ہے۔ پرنسٹن یونیورسٹی اور کے یو لیوین یونیورسٹی کے محققین نے اپنے مقالے دی ویب کبھی نہیں بھولتا میں اسے بیان کرنے کے بعد اس تکنیک کو 2014 میں وسیع میڈیا کوریج ملی۔ کینوس فنگر پرنٹنگ کے حوالے سے پرائیویسی کے خدشات اس حقیقت کے گرد مرکوز ہیں کہ کوکیز کو حذف کرنا اور کیش کو صاف کرنا بھی صارفین کے لیے آن لائن ٹریکنگ سے بچنے کے لیے کافی نہیں ہوگا۔ براؤزر سپورٹ عنصر کو موزیلا فائر فاکس، گوگل کروم، انٹرنیٹ ایکسپلورر، سفاری، کونکیورر، اوپیرا اور مائیکروسافٹ ایج کے موجودہ ورژن سپورٹ کرتے ہیں۔ اینٹی گرین جیومیٹری (اے جی جی) قاہرہ (گرافکس) ڈسپلے پوسٹ اسکرپٹ گرافکس ڈیوائس انٹرفیس (جی ڈی آئی +) کوارٹز 2 ڈی ویب جی ایل حوالہ جات بیرونی لنکس ڈبلیو ایچ اے ٹی ڈبلیو جی میں کینوس کی تفصیل ویب ایپلی کیشنز ڈرافٹ وضاحتیں ایپل ڈویلپرز کنکشن میں کینوس حوالہ صفحہ اوپیرا ڈویلپر کمیونٹی کینوس ٹیوٹوریل اور موزیلا ڈویلپر سینٹر ایچ ٹی ایم ایل ٹیگز ایچ ٹی ایم ایل 5 پر تعارفی صفحہ