“ایہہ تصویر دبّاؤ” اصل وچ چار وکھرے کم نیں جیہڑے اکو بٹن دا بھیس پا کے بیٹھے نیں۔ ایہہ جان لینا کہ ایہناں وچوں کیہڑا تہاڈی کوالٹی کھاندا اے، ترتیباں دا سارا بھید کھول دیندا اے۔
پہلا مرحلہ: ڈی کوڈنگ
دبّی ہوئی فائل نوں مُڑ پکسلاں دے جال وچ بدلیا جاندا اے۔ براؤزر ایہہ کم اپنے مقامی کوڈ نال کردے نیں، تے جِتّھے پلیٹ فارم دیوے اوتھے ہارڈویئر دی مدد نال، تے اوہ JPEG، PNG، WebP تے AVIF سنبھالدے نیں — تے Apple دے پلیٹ فارماں تے HEIC وی، کیوں جو اوہ ڈی کوڈر پہلاں ای آپریٹنگ سسٹم دے نال آؤندا اے۔
فائل دے حساب نال ڈی کوڈنگ وچ کوئی نقصان نئیں ہُندا: تہانوں اوہو پکسل ملدے نیں جیہڑے فائل بیان کردی اے۔ نقصان تے پہلاں ای ہو چکیا سی، اودوں جدوں جیہڑی وی شے اوہ فائل بنائی سی، اوہنے اوہنوں اِن کوڈ کیتا سی۔
دوجا مرحلہ: رُخ
فون دے کیمرے سینسر دا اصل رُخ محفوظ کردے نیں تے نال اک وکھری EXIF ٹیگ رکھدے نیں جیہڑی دسّدی اے کہ اوہنوں کِویں گھمانا اے۔ جیہڑا سافٹ ویئر اوس ٹیگ نوں نظر انداز کردا اے، اوہ تصویراں ڈھڈھی پئیاں وکھاندا اے۔ اوہنوں لاگو کرن دا مطلب اے پکسلاں دے اصل جال نوں، کسے ہور شے دے چھوہن توں پہلاں، گھمانا — تے اوہدے مگروں اوس ٹیگ دی لوڑ ای نئیں رہندی، تے ایہو اک وجہ اے کہ مُڑ اِن کوڈنگ میٹا ڈیٹا اُڑا دیندی اے۔
تیجا مرحلہ: ری سیمپلنگ
جے پُورے ریزولوشن تے ہدف والا سائز نہ بن سکے تے تصویر نوں گھٹایا جاندا اے۔ ایتھے ای دِسدی کوالٹی چُپ چُپیتے یا تے بچ جاندی اے یا گواچ جاندی اے۔ سستا باکس فلٹر نال دے پکسلاں دا اوسط کڈھ کے ہر شے نرم کر دیندا اے؛ Lanczos فلٹر ودھ نال دے پکسل تولدا اے تے کنارِیاں نوں تِکھا رکھدا اے۔
ری سیمپلنگ سچ مُچ نقصان کردی اے — سُٹّے ہوئے پکسل واپس نئیں آؤندے — پر نکّے ہدف تیکر اپڑن دا اکثر ایہو گھٹ توں گھٹ نقصان آلا راہ اے، کیوں جو ایہہ اوہ تفصیل کڈھ دیندی اے جیہدے تے اِن کوڈر نے اپنا سارا بجٹ ناکام کوشش وچ لا دینا سی۔
چوتھا مرحلہ: اِن کوڈنگ
ایہو نقصان آلا حصہ اے۔ JPEG تصویر نوں چمک تے رنگ آلی صورت وچ بدلدا اے، کُجھ رنگ دا ریزولوشن سُٹّ دیندا اے (اکھ نوں مشکل نال پتہ لگدا اے)، تصویر نوں 8×8 بلاکاں وچ ونڈدا اے، ہر اک نوں فریکوئنسی دے حصیاں وچ بدلدا اے، تے فیر کوانٹائز کردا اے — یعنی اُچی فریکوئنسی دی تفصیل گول کر کے اُڑا دیندا اے۔ کوالٹی دا پیمانہ اوسے گولائی دا موٹاپا اے۔ اوہدے مگروں جیہڑی وی اینٹروپی کوڈنگ اے، اوہ بغیر نقصان اے، تے ایسے لئی بہتر کیتا Huffman ٹیبل یا پروگریسو سکین مُفت وچ بائٹ بچا دیندا اے۔
WebAssembly ایتھے کِویں آؤندا اے
براؤزر دا اپنا اِن کوڈر بند ڈبّہ اے: تُسیں اوہدے کولوں کوالٹی دا اک عدد منگ سکدے او، ہور کُجھ نئیں۔ نہ بہتر کیتیاں اینٹروپی ٹیبلاں، نہ بیس لائن یا پروگریسو دی چون، نہ ری سیمپلنگ فلٹر تے کوئی اختیار، تے نہ ایہہ جانن دا کوئی راہ کہ کوئی ترتیب کِنّے بائٹ دیوے گی، جدوں تیکر اَزما نہ لَو۔
WebAssembly وچ کمپائل کیتا کوڈیک ایہہ سب واپس دے دیندا اے، بس اوہنوں ڈاؤن لوڈ کرن دے بائٹ لگدے نیں۔ ToolZool سارا سلسلہ ایسے طرحاں چلاندا اے — ڈی کوڈ، رُخ، ری سیمپل تے اِن کوڈ سارے ای Rust نیں جیہڑے WebAssembly وچ کمپائل ہو کے پِچّھے چلن آلے ورکر وچ چلدے نیں — تے ڈی کوڈ براؤزر دے حوالے نئیں کردا۔ ایہدیاں تِنّ وجوہات نیں، تے تِنّے عملی:
- کھوج نوں کئی اِن کوڈ چاہیدے نیں۔ ٹھیک ٹھیک سائز تیکر اپڑن دا مطلب اے اوسے تصویر نوں پنج چھے واری اِن کوڈ کرنا۔ اِن کوڈر اپنا ہووے تے ایہہ گل سستی تے دوہرائی جان جوگی ہو جاندی اے۔
- ڈی کوڈر نوں انکار کرنا وی آؤنا چاہیدا اے۔ اوہ فائل جیہڑی 60,000 × 60,000 پکسلاں دا دعویٰ کردی اے، اوہنوں میموری لین توں پہلاں ای رد کرنا پیندا اے، تے کٹّی ہوئی فائل نوں اَدھی تصویر دین دی تھاں ناکام ہونا پیندا اے۔ براؤزر دا ڈی کوڈر اپنے فیصلے آپ کردا اے؛ ساڈا حداں دسّدا وی اے تے لاگو وی کردا اے۔
- اکو ان پُٹ توں اکو آؤٹ پُٹ آنا چاہیدا اے۔ براؤزراں دے ڈی کوڈر رنگ سنبھالن وچ تے خراب فائلاں نال سلوک وچ اک دوجے توں وکھرے نیں۔ جیہڑا سلسلہ دوویں سِرے آپ سنبھالدا اے، اوہ ہر ڈیوائس تے اوہو بائٹ دیندا اے، تے ایہو اوہ گل اے جیہڑی نتیجے نوں پرکھن جوگا بناندی اے۔
خرچہ صاف صاف دسّیا جاندا اے: اوہ انجن اک ڈاؤن لوڈ اے۔ اوہ اودوں ای منگوایا جاندا اے جدوں تُسیں فائل چُندے او، ایس لئی ایس ورگا صفحہ پڑھن دا اوہدا کوئی مُل نئیں دینا پیندا۔
کھوج کوڈیک توں ودھ اہم کیوں اے
جدوں فائل دا ہدف سائز مقرر ہووے تے چنگے اِن کوڈر تے بہت چنگے اِن کوڈر وچکار فرق چند فیصد دا اے۔ کوالٹی دے سلائیڈر تے اندازہ لاؤن تے ٹھیک درجہ لبھن وچکار فرق ایہدے توں کِتے وڈّا اے، کیوں جو اوہ اندازہ جیہڑا تہاڈی اجازت دے 60% تے آ کے رُک جاوے، اوہ اوس کوالٹی دا اک تہائی حصہ رول دیندا اے جیہدے تُسیں حقدار سو۔ ٹھیک ٹھیک سائز تیکر دبّاؤن دے پِچّھے سارا خیال ایہو اے، تے 50 KB دی حد تیکر اپڑنا وکھاندا اے کہ دائرے دے سب توں اوکھے سِرے تے کھوج تہانوں کی دیندی اے۔

