مواد پر جائیں

BMP کو PNG میں تبدیل کریں

BMP ہر پکسل کو خام حالت میں رکھتی ہے — PNG وہی پکسلز لاس لیس طریقے سے، سائز کے معمولی حصے میں رکھتی ہے۔ وہی تصویر، جدید فارمیٹ، کچھ بھی محفوظ نہیں کیا جاتا۔

  • کبھی محفوظ نہیں کی جاتی
  • نہ قطار، نہ انتظار
  • نہ سائن اپ، نہ واٹر مارک

یہ کیسے کام کرتا ہے

1

اپنی BMP فائلیں شامل کریں

جتنی چاہیں .bmp فائلیں صفحے پر ڈراپ کریں۔

2

تبدیل کریں

ہر فائل لاس لیس کمپریس شدہ PNG بن جاتی ہے — بالکل وہی پکسلز، کہیں چھوٹی فائل۔

3

ڈاؤن لوڈ کریں

ایک ایک کر کے یا ZIP کے طور پر محفوظ کریں۔

وہی پکسلز، سائز کا معمولی حصہ

BMP عموماً بالکل کمپریس نہیں ہوتی۔ ہر پکسل جوں کا توں لکھا جاتا ہے، ہر ایک تین یا چار بائٹس کا، اور قطاروں کو چار بائٹس کی حد تک بھرا جاتا ہے — اسی لیے 1920×1080 کا اسکرین شاٹ تقریباً 8 MB اور بارہ میگا پکسل کی تصویر تقریباً 36 MB کی ہوتی ہے۔ PNG بالکل وہی پکسلز رکھتی ہے اور انہیں لاس لیس طریقے سے کمپریس کرتی ہے، اس لیے تصویر میں کچھ نہیں بدلتا اور فائل عموماً پانچ سے بیس گنا چھوٹی ہو جاتی ہے۔ بڑے سادہ حصوں والے اسکرین شاٹ یا خاکے کے لیے تناسب اس حد کے اوپری سرے پر ہوتا ہے۔ یہ وہ نایاب تبدیلی ہے جس میں کوئی سودا ہے ہی نہیں۔

نتیجے میں ایک بات جانچنے کے قابل ہے: 32-bit BMP میں ٹرانسپیرنسی ناقابلِ اعتبار ہے، اور اس کی وجہ یہاں کیا گیا کوئی کام نہیں۔ Windows بٹ میپ کے اصل ہیڈر میں الفا چینل کا تصور ہی نہیں تھا، اس لیے ہر پکسل کا چوتھا بائٹ بس خالی رہتا تھا؛ بعد کے ہیڈرز نے اسے باقاعدہ طے کیا، لیکن بہت سے سافٹ ویئر اب بھی پرانی شکل لکھتے ہیں اور بہت سے ڈیکوڈرز اب بھی نئی کو نظر انداز کرتے ہیں۔ اس لیے جو BMP اسے بنانے والے پروگرام میں شفاف دکھتی ہے، وہ ڈیکوڈ ہو کر ٹھوس بھی نکل سکتی ہے، کیونکہ الفا بائٹ کو خالی جگہ سمجھا گیا۔ اگر یہ اہم ہے تو بھروسہ کرنے سے پہلے PNG دیکھ لیں۔

قطاریں دوسری عجیب بات ہیں۔ BMP روایتی طور پر اپنی قطاریں نیچے سے اوپر رکھتی ہے، یہ فیصلہ ابتدائی گرافکس ہارڈ ویئر کے میموری تک رسائی کے طریقے سے ورثے میں ملا، اور اوپر سے نیچے والی فائل کی نشاندہی منفی اونچائی سے کرتی ہے۔ ڈیکوڈرز دونوں سنبھال لیتے ہیں، اس لیے عملاً یہ نظر نہیں آتا — بس یہی وجہ ہے کہ آدھی لکھی یا کٹی ہوئی BMP کٹی ہوئی نہیں بلکہ الٹی دکھائی دیتی ہے۔

Windows کی تمام عام اقسام تبدیل ہو جاتی ہیں۔ فارمیٹ کے نایاب گوشے — RLE کمپریس شدہ 4-bit اور 8-bit بٹ میپس، نوے کی دہائی کے اوائل کے OS/2 ہیڈرز، اور کم ملنے والی ایمبیڈڈ JPEG شکل — ڈیکوڈر پر منحصر ہیں، اور اگر ان میں سے کوئی مسترد ہو تو یہ بگڑی ہوئی تصویر بنانے کے بجائے صاف بتا دے گا۔

جب آپ کو کچھ اور چاہیے

PNG کو مزید چھوٹا کرنے کے لیے oxipng -o 4 out.png یا optipng اکثر ایک بھی پکسل بدلے بغیر مزید دس سے تیس فیصد کم کر دیتے ہیں، اور pngquant پیلیٹ تک محدود کر کے کہیں زیادہ کم کرتا ہے — جو لاسی ہے، اور اسکرین شاٹ یا خاکے میں عموماً نظر نہیں آتا۔

ان کے پورے فولڈر کے لیے ImageMagick کا magick mogrify -format png *.bmp ایک لائن میں سب کچھ تبدیل کر دیتا ہے، اور بہت بڑی تصاویر پر libvips یہی کام میموری کے معمولی حصے میں کرتا ہے۔ اگر BMP فائلیں گرافکس کے بجائے تصاویر ہیں تو PNG سرے سے غلط منزل ہے — JPG دسواں حصہ سائز کی ہوگی، اور کوالٹی کا فرق کسی کو نظر نہیں آئے گا۔

اکثر پوچھے جانے والے سوالات

کیا کوالٹی میں کوئی کمی آتی ہے؟

بالکل نہیں — PNG لاس لیس ہے۔ PNG ڈیکوڈ ہو کر بالکل وہی پکسلز دیتی ہے جو BMP میں ہیں؛ صرف فالتو بائٹس ختم ہوتے ہیں۔

یہ کتنی چھوٹی ہوگی؟

مواد کے حساب سے عموماً 50-95% چھوٹی — BMP فائلیں تقریباً بغیر کمپریشن کے ہوتی ہیں، اس لیے تقریباً کوئی بھی فارمیٹ جیت جاتا ہے۔

آج کل BMP فائلیں آتی کہاں سے ہیں؟

پرانے ٹولز سے لیے گئے Windows اسکرین شاٹس، MS Paint، سائنسی آلات، ایمبیڈڈ سسٹمز اور پرانے سافٹ ویئر سے۔ یہ فارمیٹ Windows 3.0 کے زمانے کا ہے۔

کیا میری فائلیں کہیں محفوظ کی جاتی ہیں؟

نہیں — تبدیلی کچھ بھی محفوظ نہیں کرتی۔

کیا PNG وہ سب رکھ سکتی ہے جو BMP رکھتی ہے؟

جی ہاں، اور اس سے زیادہ — PNG اصل ٹرانسپیرنسی بھی دیتی ہے، جو BMP عملاً کبھی نہیں رکھتی تھی۔

جاننا مفید ہے: BMP کی نایاب اقسام (RLE کمپریس شدہ، OS/2 ہیڈرز) آپ کے براؤزر کے ڈیکوڈر پر منحصر ہیں؛ عام Windows BMP فائلیں سب کام کرتی ہیں۔

یہ ٹول اپنی ویب سائٹ پر لگائیں

کسی بھی بلاگ، کلاس پیج یا ہیلپ آرٹیکل کے لیے مفت۔ ایک اسنیپٹ پیسٹ کریں اور آپ کے وزیٹرز اسے سیدھا آپ کے صفحے پر استعمال کر سکیں گے۔