PNG ছবি (.png)
W3C স্ট্যান্ডার্ডপোর্টেবল নেটওয়ার্ক গ্রাফিক্স (PNG) হলো একটি মুক্ত রেস্টার গ্রাফিক্স ফাইল ফরম্যাট যা লসলেস ডেটা কম্প্রেশন, ইনডেক্সড কালার এবং ভেরিয়েবল আলফা চ্যানেল ট্রান্সপারেন্সি সমর্থন করে।
PNG থেকে JPG-তে রূপান্তর করুন
বিনামূল্যের ব্রাউজারভিত্তিক PNG-থেকে-JPG রূপান্তরকারী। আপনার ডিভাইসেই ফাইল তাৎক্ষণিকভাবে রূপান্তর করুন।
অনলাইনে PNG কম্প্রেস করুন
ব্যক্তিগত - ফাইল কখনোই আপনার ডিভাইস ছেড়ে যায় না
ইনস্পেক্ট ও মেটাডেটা
অপারেটিং সিস্টেম এবং ফাইল অ্যানালাইজারগুলো শুরুর বাইনারি বাইট সিকোয়েন্স পরীক্ষা করে PNG ফাইল শনাক্ত করে:
বাইট-লেভেল হেডার সিগনেচার (ম্যাজিক বাইটস)
অপারেটিং সিস্টেম এবং ফাইল অ্যানালাইজারগুলো শুরুর বাইনারি বাইট সিকোয়েন্স পরীক্ষা করে PNG ফাইল শনাক্ত করে:
হেক্স সিগনেচার (অফসেট 0):
89 50 4E 47 0D 0A 1A 0AASCII রিপ্রেজেন্টেশন: .PNG....
স্ট্যান্ডার্ডাইজেশন: W3C Recommendation (1996) / ISO/IEC 15948:2004
প্রযুক্তিগত বৈশিষ্ট্য
| কন্টেইনার আর্কিটেকচার | প্রতিটি চাঙ্কে ৪-বাইট CRC32 ভেরিফিকেশন সহ চাঙ্ক-ভিত্তিক বাইনারি কন্টেইনার |
| কম্প্রেশন | ৫টি প্রেডিক্টিভ স্ক্যানলাইন ফিল্টার (None, Sub, Up, Average, Paeth) সহ ডিফ্লেট (LZ77 + হাফম্যান কোডিং) |
| বাইট এন্ডিয়াননেস | চাঙ্কের দৈর্ঘ্য, মাত্রা এবং CRC-এর জন্য বিগ-এন্ডিয়ান (নেটওয়ার্ক বাইট অর্ডার) |
| কালার স্পেস | sRGB, Display P3, ইনডেক্সড প্যালেট (১-৮ বিট), গ্রেস্কেল, ট্রু কালার (২৪/৪৮-বিট) |
| চ্যানেল ও কাঠামো | RGB + আলফা (প্রতি চ্যানেলে ১৬ বিট পর্যন্ত / ৬৪-বিট RGBA) |
| সর্বোচ্চ মাত্রা | ২,১৪৭,৪৮৩,৬৪৭ x ২,১৪৭,৪৮৩,৬৪৭ পিক্সেল (৪-বাইট আনসাইনড ইন্টিজার) |
| স্বচ্ছতা | সম্পূর্ণ ৮-বিট / ১৬-বিট ভেরিয়েবল আলফা ট্রান্সপারেন্সি চ্যানেল |
| স্ট্রিমিং ও প্রোগ্রেসিভ | Adam7 ৭-পাস ইন্টারলেসিং অ্যালগরিদম প্রগ্রেসিভ টু-ডি স্ক্যানলাইন রেন্ডারিং সক্ষম করে |
টেকনিক্যাল তুলনা ম্যাট্রিক্স: PNG বনাম প্রতিযোগীগণ
| প্রযুক্তিগত বৈশিষ্ট্য | PNG (বর্তমান) | WebP | AVIF | JPEG |
|---|---|---|---|---|
| কম্প্রেশন টাইপ | কঠোরভাবে লসলেস (Deflate + 2D প্রেডিক্টিভ ফিল্টার) | লসি (VP8) ও লসলেস (VP8L) | লসি (AV1 ইন্ট্রা) ও লসলেস | সম্পূর্ণ লসি (ডিসক্রিট কোসাইন ট্রান্সফর্ম) |
| আলফা ট্রান্সপারেন্সি | সম্পূর্ণ ৮-বিট / ১৬-বিট ভেরিয়েবল আলফা চ্যানেল | ৮-বিট আলফা চ্যানেল সমর্থিত | ৮-বিট / ১০-বিট / ১২-বিট আলফা সমর্থিত | কোনো ট্রান্সপারেন্সি চ্যানেল সমর্থন নেই |
| ফাইলের সাইজ (ফটোগ্রাফ) | ফটোগ্রাফে লসি ফরম্যাটের চেয়ে প্রায়ই বড় হয়; আপেক্ষিক আকার ছবি ও এনকোডারের ওপর নির্ভর করে | JPEG-এর চেয়ে ছোট হতে পারে; ফলাফল ছবি ও এনকোডারের ওপর নির্ভর করে | JPEG-এর চেয়ে ছোট হতে পারে; ফলাফল ছবি ও এনকোডারের ওপর নির্ভর করে | মাঝারি বেসলাইন |
| ফাইলের সাইজ (গ্রাফিক্স/UI) | স্ক্রিনশট, লাইন আর্ট এবং টেক্সটের জন্য অত্যন্ত ছোট আকারের | চমৎকার লসলেস মোড | ভালো, কিন্তু এনকোড করতে ধীরগতির | খারাপ (ধারালো প্রান্তের চারপাশে রিংিং আর্টিফ্যাক্ট তৈরি করে) |
| ব্রাউজার সামঞ্জস্যতা | ১৯৯৮ সাল থেকে সমস্ত ব্রাউজারে ১০০% ইউনিভার্সাল | ৯৭%+ আধুনিক ব্রাউজার সমর্থন | ৯৩%+ আধুনিক ব্রাউজার সমর্থন | ১০০% ইউনিভার্সাল |
সাধারণ করাপশন মোড এবং হেক্স রিকভারি গাইড
ইমেজ ভিউয়ার 'Fatal error: Not a valid PNG file' প্রদর্শন করে বা খুলতে ব্যর্থ হয়।
মূল কারণ: একটি ASCII ট্রান্সফার মোড দ্বারা প্রথম ৮টি বাইট পরিবর্তিত হয়েছে (0x0D 0x0A কে 0x0A বা 0x0D 0x0D 0x0A এ রূপান্তর করেছে)।
পুনরুদ্ধার: একটি হেক্স এডিটরে ফাইলটি খুলুন এবং যাচাই করুন যে প্রথম ৮টি বাইট '89 50 4E 47 0D 0A 1A 0A' এর সাথে মেলে। এই সঠিক ৮টি হেডার বাইট পুনরুদ্ধার করলে প্রায়শই চিত্রটি ঠিক হয়ে যায়।
pngcheck 'CRC error in chunk IDAT' রিপোর্ট করে বা নিচের ক্ষতিগ্রস্ত স্ক্যানলাইন সহ ছবিটি আংশিক লোড হয়।
মূল কারণ: কম্প্রেসড zlib ডেটাস্ট্রিমে বিট করাপশন অথবা IDAT চাঙ্কে ভুল CRC32 চেকসাম।
পুনরুদ্ধার: সঠিক CRC32 মান পুনরায় গণনা করতে pngcheck -f বা Deflate স্ট্রিম রিকভারি ইউটিলিটি ব্যবহার করুন, অথবা ক্ষতিগ্রস্ত ব্লক পর্যন্ত বেঁচে থাকা স্ক্যানলাইনগুলো ডিকম্প্রেস করুন।
ডেস্কটপ ভিউয়ারে ছবি ঠিকমতো রেন্ডার হলেও iOS অ্যাপ্লিকেশনে ব্যর্থ হয়।
মূল কারণ: iOS অ্যাপলের প্রোপ্রাইটারি CgBI বাইট সোয়াপ করা ফরম্যাট বা অ-মানক কালার স্পেস চাঙ্ক আশা করে।
পুনরুদ্ধার: স্ট্যান্ডার্ড W3C RGBA অর্ডারিং পুনরুদ্ধার করতে 'pngcrush -revert-iphone-optimizations' ব্যবহার করে ছবিটি নরমালাইজ করুন।
নিরাপত্তা বিশ্লেষণ ও পার্সার অ্যাটাক ভেক্টর
PNG অনেক অপারেটিং সিস্টেম ও অ্যাপে সমর্থিত। নিরাপত্তা ঝুঁকির মধ্যে ডিকোডারের মেমোরি নিঃশেষ করার আক্রমণ ও ক্ষতিকর সহায়ক ডেটা ব্লক রয়েছে।
পরিচিত অ্যাটাক ভেক্টর
- অত্যধিক বড় tEXt এবং zTXt মেটাডেটা চাঙ্ক আন-স্যান্ডবক্সড ডিকোডারে আউট-অফ-মেমরি (OOM) ডিনায়াল-অব-সার্ভিস ট্রিগার করে।
- লিগ্যাসি libpng রিলিজে হিপ বাফার ওভারফ্লো দুর্বলতা (যেমন png_set_PLTE-এ CVE-2015-8126)।
- পিক্সেল ফ্লাড ডিকম্প্রেশন অ্যাটাক যেখানে ছোট ফাইলের সাইজ বিশিষ্ট একটি ছবি বিশাল মাত্রা ঘোষণা করে (যেমন ১০০,০০০ x ১০০,০০০ পিক্সেল)।
- স্টেগানোগ্রাফিক এক্সফিল্ট্রেশন যা অনুষঙ্গী প্রাইভেট চাঙ্কে (যেমন eXIf বা কাস্টম চাঙ্ক টাইপ) এনক্রিপ্ট করা পেলোড লুকিয়ে রাখে।
প্রতিরক্ষামূলক সেরা অনুশীলন: মেমরিতে পিক্সেল বাফার বরাদ্দ করার আগে সর্বদা ছবির মাত্রা যাচাই করুন। একটি মেমরি-সেফ স্যানিটাইজার ব্যবহার করে ব্যবহারকারীর আপলোডের ক্ষেত্রে অ-প্রয়োজনীয় অনুষঙ্গী চাঙ্কগুলো (eXIf, tEXt) মুছে ফেলুন।
ঐতিহাসিক উৎপত্তি ও মাইলফলক
প্রধান সুবিধাসমূহ ও গুণাবলী
- PNG ক্ষতিহীন কম্প্রেশন ব্যবহার করে, তাই অপরিবর্তিত ছবি এনকোড করলে কম্প্রেশনের কারণে ক্ষতি হয় না; তবে সম্পাদনা বা রঙ রূপান্তরে পিক্সেলের মান বদলাতে পারে।
- মসৃণ ৮-বিট আলফা ট্রান্সপারেন্সি জটিল পটভূমিতে পরিষ্কার ব্লেন্ডিং সক্ষম করে।
- গামা কারেকশন এবং ক্রোমাটিসিটি চাঙ্ক বিভিন্ন মনিটরে সামঞ্জস্যপূর্ণ রেন্ডারিং নিশ্চিত করে।
কারিগরি সীমাবদ্ধতা ও অসুবিধা
- ফটোগ্রাফিক কন্টেন্টের জন্য WebP বা AVIF-এর মতো আধুনিক লসি ফরম্যাটের তুলনায় উল্লেখযোগ্যভাবে বড় ফাইলের সাইজ।
- স্ট্যান্ডার্ড PNG-তে কোনো নেটিভ মাল্টি-ফ্রেম অ্যানিমেশন নেই (APNG এক্সটেনশন প্রয়োজন)।
- উচ্চ বিট-ডেপথ (প্রতি চ্যানেলে ১৬-বিট) বিশাল আনকম্প্রেসড ইন-মেমরি ডিকোড বাফার তৈরি করে।
আকর্ষণীয় কারিগরি তথ্য
- FTP স্থানান্তরের সময় CR/LF লাইন এন্ডিং বিকৃত হওয়া সনাক্ত করার জন্য ৮-বাইটের ম্যাজিক হেডার বিশেষভাবে ডিজাইন করা হয়েছিল।
- PNG-এর অপ্রাতিষ্ঠানিক রিকার্সিভ অ্যাক্রোনিম ছিল 'PNG's Not GIF'।
- অ্যাপল সরাসরি জিপিইউ রেন্ডারিংয়ের জন্য RGBA-কে BGRA-তে রিভার্স করতে iOS অ্যাপ PNG-তে একটি প্রোপ্রাইটারি CgBI চাঙ্ক ব্যবহার করে।
সচরাচর জিজ্ঞাসিত প্রযুক্তিগত প্রশ্নাবলি
ইমেজ এডিটরে সেভ করার সময় PNG ফাইলের সাইজ কখনো কখনো বেড়ে যায় কেন?
বিভিন্ন সফটওয়্যার স্যুট ভিন্ন ভিন্ন ডিফ্লেট কম্প্রেশন লেভেল এবং প্রেডিক্টিভ স্ক্যানলাইন ফিল্টার হিউরিস্টিকস ব্যবহার করে। ফটোশপের মতো প্রোগ্রামগুলো প্রায়শই আনকম্প্রেসড কালার প্রোফাইল, XMP মেটাডেটা ব্লক এবং অপ্টিমাইজ না করা IDAT চাঙ্কের সাইজ যুক্ত করে। File2File.app Compressor-এর মতো ডেডিকেটেড টুলগুলো ন্যূনতম ফাইলের সাইজ অর্জন করতে ৫টি স্ক্যানলাইন ফিল্টারই পুনরায় মূল্যায়ন করে।
PNG-8 এবং PNG-24 এর মধ্যে পার্থক্য কী?
PNG-8 ২৫৬টি রঙ পর্যন্ত একটি ইনডেক্সড কালার প্যালেট ব্যবহার করে (GIF-এর মতো), যা সাধারণ আইকনের জন্য উপযোগী খুব ছোট ফাইল তৈরি করে। PNG-24 ১ কোটি ৬৭ লক্ষ রঙ সমর্থন করে (প্রতি চ্যানেলে ট্রু কালার ৮ বিট), যেখানে PNG-32 একটি ৮-বিট আলফা ট্রান্সপারেন্সি চ্যানেল যোগ করে।
PNG-এ ৫টি প্রেডিক্টিভ স্ক্যানলাইন ফিল্টার কেন থাকে?
ডিফ্লেট পুনরাবৃত্ত বাইট প্যাটার্ন সংকুচিত করে। যেহেতু ফটোগ্রাফিক বা গ্রেডিয়েন্ট পিক্সেল মান ধীরে ধীরে পরিবর্তিত হয়, তাই PNG প্রতিটি স্ক্যানলাইনে (None, Sub, Up, Average, Paeth) ফিল্টার প্রয়োগ করে সংলগ্ন পিক্সেলগুলোর পার্থক্য গণনা করে। এটি ডিফ্লেটের অধীনে নাটকীয়ভাবে আরও ভালোভাবে সংকুচিত হয় এমন প্রায়-শূন্য বাইটের স্ট্রিংয়ে গ্রেডিয়েন্ট ডেটা রূপান্তর করে।
PNG কি বাণিজ্যিক প্রিন্টিংয়ের জন্য CMYK কালার স্পেস সমর্থন করে?
না। অফিসিয়াল W3C PNG স্পেসিফিকেশন জেনেশুনে কালার টাইপগুলোকে গ্রেস্কেল, ইনডেক্সড এবং RGB-তে সীমাবদ্ধ করে। CMYK প্রয়োজন এমন পেশাদার প্রিন্ট ওয়ার্কফ্লোতে TIFF বা PDF কন্টেইনার ব্যবহার করতে হবে।
সম্পর্কিত PNG কনভার্সন পেয়ার
PNG রাস্টার ছবিকে JPEG ফরম্যাটে রূপান্তর করলে লসি কম্প্রেশন প্রয়োগ করে ফাইলের আকার হ্রাস পায়, যার ফলে ছবিগুলো ওয়েবসাইটে দ্রুত লোড হয় এবং কম স্টোরেজ স্থান নেয়।
একটি লসি কম্প্রেশনযুক্ত JPEG রাস্টার ছবিকে ক্ষতিহীন PNG রাস্টার ছবিতে রূপান্তর করলে পরবর্তী ধাপে গুণগত মানের আরও অবনতি রোধ হয় এবং আলফা চ্যানেলের স্বচ্ছতার সমর্থন যোগ হয়।
PNG ছবিকে WebP-তে রূপান্তর করলে স্বচ্ছতা বজায় রেখেও ফাইলের আকার কমতে পারে। ফলাফল নির্ভর করে lossy না lossless encoding ব্যবহার করা হয়েছে এবং ছবির বিষয়বস্তু কেমন তার ওপর।
WebP-কে PNG-তে রূপান্তর করলে PNG সমর্থনকারী সফটওয়্যারে ব্যবহারের জন্য স্থির ছবি তৈরি হয়। এতে WebP অ্যানিমেশন থাকে না, আর lossy compression-এ হারানো ছবির বিবরণও ফিরে আসে না।
HEIC থেকে PNG-তে রূপান্তর করলে HEVC দিয়ে ক্ষতিকর কম্প্রেশনে সংকুচিত ছবিগুলো বহুল সমর্থিত ক্ষতিহীন গ্রাফিক ফাইলে রূপান্তরিত হয়।
SVG ভেক্টর ফাইলকে PNG রাস্টার ইমেজে রূপান্তর করলে স্কেলযোগ্য কোড-ভিত্তিক গ্রাফিক্স সার্বজনীন অ্যাপ্লিকেশন সামঞ্জস্যের জন্য নির্দিষ্ট-পিক্সেল গ্রিডে রূপান্তরিত হয়।
প্রতিক্রিয়াশীল ওয়েব স্কেলিং এবং ভেক্টর-সামঞ্জস্যপূর্ণ লেআউট ইন্টিগ্রেশনের জন্য রাস্টার PNG ইমেজগুলিকে একটি SVG XML ভেক্টর কন্টেইনারের মধ্যে এনক্যাপসুলেট করুন।
সার্ভারে কোনো ডেটা প্রেরণ ছাড়াই সরাসরি ব্রাউজারে সম্পূর্ণ আলফা চ্যানেল স্বচ্ছতা সহ অ্যাডোবি ফটোশপ PSD গ্রাফিক্সকে লসলেস PNG ইমেজে রূপান্তর করুন।