রাস্টার চিত্রগুলিকে দ্বি-মাত্রিক গ্রিড রেন্ডার করার জন্য পিক্সেল-বাই-পিক্সেল নির্দেশাবলীর একটি সেট হিসাবে ভাবা যেতে পারে। সাধারণ রাস্টার ইমেজ ফরম্যাটের মধ্যে রয়েছে GIF (.gif), JPEG (.jpg), PNG (.png), এবং WebP (.webp)। প্রতিটি ইমেজ ফরম্যাট যেভাবে এই নির্দেশাবলী সংকুচিত করে এবং এনকোড করে তা আলাদা হয়, যার ফলে ফাইলের আকারের মধ্যে একটি বিশাল পার্থক্য দেখা দেয়: একটি JPEG হিসাবে এনকোড করা একটি ফটোগ্রাফিক চিত্র শুধুমাত্র কয়েকশ কিলোবাইট হতে পারে, যখন PNG হিসাবে এনকোড করা একই চিত্রটি কয়েক মেগাবাইটের হতে পারে। শেষ ব্যবহারকারীর সাথে মানের মধ্যে কোন স্পষ্ট পার্থক্য।
একটি রাস্টার ইমেজ সোর্স এর অন্তর্নিহিত মাত্রার বাইরে স্কেল করা বিকৃত, ব্লক বা ঝাপসা দেখাবে:
আর্টওয়ার্কের জন্য বাস্তব বিশ্ব স্তরের বিশদ বিবরণ রয়েছে, রাস্টার চিত্রগুলি কাজের জন্য সঠিক সরঞ্জাম।
রাস্টার এবং ভেক্টর চিত্রগুলির মধ্যে নির্বাচন করার মতোই, উপযুক্ত ধরণের রাস্টার চিত্র নির্বাচন করা শেষ পর্যন্ত ব্যবহারের ক্ষেত্রে নেমে আসে। যখন আমরা রাস্টার ইমেজগুলিকে তাদের এনকোডিংগুলিতে ভেঙে ফেলি, তখন আমরা আসলে তাদের বিষয়বস্তুগুলি বর্ণনা করার জন্য ব্যবহৃত পদ্ধতিগুলি এবং আমরা যে কম্প্রেশন পদ্ধতিগুলি (বা এর অভাব) প্রয়োগ করছি সেগুলি সম্পর্কে কথা বলছি৷ মনে রাখবেন যে একটি সার্ভার একটি ব্রাউজারে তারের উপর একটি ছবি পাঠায় না, কিন্তু পিক্সেল গ্রিড বর্ণনা করে বাইটের একটি স্ট্রীম যা ক্লায়েন্টকে পুনরায় কম্পোজ করার জন্য সেই ছবিটি তৈরি করে।
সুতরাং, বাইটস্ট্রিম ডেটা হিসাবে পিক্সেলের একটি গ্রিড এনকোড করার প্রক্রিয়াটিকে আরও ভালভাবে কল্পনা করতে, আমি চাই আপনি কল্পনা করুন যে আপনি ওয়েব ব্রাউজার হিসাবে কাজ করছেন। আপনার কাছে মিলিমিটার গ্রাফ পেপারের একটি শীট এবং ব্র্যান্ড নামের ক্রেয়নের একটি নির্দিষ্ট প্যাক রয়েছে। আমি, ওয়েব সার্ভার হিসাবে, ঠিক একই জিনিস আছে — কিন্তু আমি ইতিমধ্যে একটি উৎস ইমেজ সঙ্গে গ্রাফ কাগজ পূরণ করার জন্য আমার crayons ব্যবহার করেছি. আমি যদি আপনাকে একটি সাধারণ টেক্সট বার্তা পাঠাতাম, তাহলে আমি নিজেই ছবিটি আপনাকে পাঠাতে পারতাম না, তবে আমি আমাদের "পিক্সেল" গ্রিড এবং রঙের জন্য আমাদের শেয়ার করা স্ট্যান্ডার্ড ব্যবহার করে আমরা উভয়েই বুঝতে পারি এমন একটি ভাষায় একটি চিত্র উত্স সম্পর্কে তথ্য জানাতে পারতাম:
উপরের বাম থেকে শুরু করুন। সারি এক, কলাম এক নীল. সারি এক, কলাম দুই নীল. সারি এক, কলাম তিন নীল। সারি এক, কলাম চার লাল।
এই পাঠ্য তথ্য ব্যবহার করে, আপনি আমার গ্রাফ পেপারের শীটে থাকা চিত্রটি পুরোপুরি পুনরায় তৈরি করতে সক্ষম হবেন।
ইমেজ ফরম্যাটের পার্থক্য এবং ডেটা হিসাবে সেগুলিকে এনকোড করার উপায়গুলি এই তথ্যটি যেভাবে ফর্ম্যাট করা হয়েছে সেভাবে চিন্তা করা যেতে পারে। উদাহরণ স্বরূপ, আমি আপনাকে যে তথ্য পাঠিয়েছি তা সহজেই প্রকাশ করা যেতে পারে যেমন:
উপরের বাম থেকে শুরু করুন। সারি এক, কলাম এক থেকে তিন নীল। সারি এক, কলাম চার লাল।
এই বর্ণনাগুলির মধ্যে একটির ফলে একই চিত্র আসবে, তবে দ্বিতীয়টি কম অক্ষর সহ একই চিত্র বর্ণনা করতে পরিচালনা করে। ইমেজ ডেটা সংকুচিত করার এটি একটি ক্ষতিহীন পদ্ধতি: সমস্ত একই তথ্য—এবং এইভাবে, ভিজ্যুয়াল বিশ্বস্ততার কোনো হ্রাস নেই—কিন্তু আমার থেকে আপনার কাছে-সার্ভার থেকে রেন্ডারিং ইঞ্জিনে কম বাইট স্থানান্তরিত হয়েছে৷ এটি ইমেজ ডেটার জন্য "রান-লেংথ এনকোডিং"-এর সমতুল্য প্লেইন ল্যাঙ্গুয়েজ, যেখানে ডেটাকে এনকোড করা হয় মান হিসাবে পুনরাবৃত্তি করা হয় এবং একটি গণনা করা হয়, সম্পূর্ণ মান একাধিকবার পুনরাবৃত্তি না করে।
বিপরীত, ক্ষতিকর কম্প্রেশন, ফেস ভ্যালুতে নন-স্টার্টারের মতো শোনাতে পারে—কেন আপনি কখনই আপনার চিত্রগুলি আরও খারাপ দেখতে চান? যদিও এটি কঠোরভাবে হয় না, এবং এটি মনে রাখা উচিত যে আমাদের চোখের নিখুঁত বিশ্বস্ততাও নেই। ইমেজ কম্প্রেশনের জন্য সঠিক বিন্যাস এবং সেটিংস নির্বাচন করা হল আমরা যে ভিজ্যুয়াল ডিটেইলটি বুঝতে পারি এবং ব্রাউজারে পাঠানো ডেটার পরিমাণের মধ্যে ভারসাম্য খুঁজে বের করার একটি অনুশীলন। এই দুটি কারণই আমাদের উৎস চিত্রের বিষয়বস্তু দ্বারা নির্ধারিত হয়।
রাস্টার ইমেজ ফরম্যাটগুলি হল যেগুলির সাথে আপনি সম্ভবত ডেভেলপার হিসেবে সবচেয়ে বেশি পরিচিত—GIF, JPEG, PNG, WebP এবং আরও অনেক কিছু। আপনি পরবর্তী কয়েকটি মডিউলে প্রতিটির ক্ষমতা সম্পর্কে শিখবেন।