عکس را نگه دارید و برچسبهای خصوصیاش را پشت سر بگذارید
محفظههای توصیفی و شناساییکنندهٔ رایج را بدون رمزگشایی، تغییر اندازه یا بازفشردهسازی دادهٔ تصویر، از یک PNG یا JPEG حذف کنید. نسخهٔ پاکشده بهصورت محلی از محدودههای بایتی حفظشدهٔ فایل اصلی سرهم میشود.
یک PNG یا JPEG تا ۵۰ مگابایت. ساختار فایل مستقیماً پاکسازی میشود؛ تصویر هرگز رمزگشایی، بازفشردهسازی یا آپلود نمیشود.
نتیجهها بدون تضمین درستی ارائه میشوند. روش و منابع در پایین صفحه منتشر شدهاند تا بتوانید محاسبه را بررسی کنید.
چگونگی کار
آنچه حذف میشود
PNG و JPEG محفظههایی دور دادهٔ رمزگذاریشدهٔ تصویر هستند. هر دو میتوانند اطلاعاتی را با خود داشته باشند که برای بازسازی تصویر لازم نیست: توضیحات، نام نرمافزار، مُهرهای زمانی، تنظیمات دوربین، کامنتها و — در محفظهٔ EXIF — احتمالاً مختصات GPS.
تنظیم «شخصی» محفظههای شناختهشدهای را حذف میکند که به احتمال زیاد چنین موادی را در خود دارند:
| قالب | بلوکهای حذفشده | دادهٔ تصویر حفظشده |
|---|---|---|
| PNG | tEXt، zTXt، iTXt، eXIf، tIME | چانکهای IDAT و fdAT انیمیشن |
| JPEG | سگمنتهای APP1، APP13 و COM | همهچیز از هر سرآیند آغاز اسکن تا پایان اسکن رمزگذاریشدهٔ آن |
پاکسازی حداکثری فراتر میرود. چانکهای جانبی ناشناختهٔ PNG را حذف میکند، مگر اینکه در فهرست مجاز رندر باشند، و سگمنتهای APP در JPEG را بهجز بلوکهای JFIF، پروفایل ICC و تبدیل رنگ Adobe کنار میگذارد. چانکهای حیاتی PNG و جدولهای کدگذاری، فریمها و اسکنهای JPEG هرگز فرادادهٔ دورانداختنی به شمار نمیآیند.
چرا فایل بازفشردهسازی نمیشود
بازرمزگذاری یک JPEG، حتی اگر لغزندهٔ کیفیت روی همان عدد باشد، یک نسل با اتلاف دیگر ایجاد میکند. ضمناً لازم هم نیست: T.81 به سگمنتهای کاربردی و توضیحات، طولهای مستقلِ نشانگردار میدهد، بنابراین میتوان یک سگمنت کامل را حذف کرد و اسکن پس از آن دستنخورده بماند.
PNG هم به همین شکل چانکبندی شده است. هر چانک یک طول، یک نوع چهارحرفی، محتوا و یک CRC دارد. حذف یک چانک جانبی کامل نیازی به باز کردن یا بازفشردهسازی IDAT ندارد. هر چانک حفظشده — از جمله CRC موجودش — با همان ترتیبی که آمده کپی میشود.
یک نمونهٔ عملی PNG
فیکسچر آزمون یک PNG تکپیکسلی با دو چانک فراداده است:
| بخش | بایتها |
|---|---|
| منبع کامل | ۱۰۰ |
چانک tEXt (Author=Ada) | ۲۲ |
چانک eXIf | ۱۶ |
| خروجی پاکشده | ۶۲ |
نتیجه ۲ بلوک فراداده و ۳۸ بایت حذفشده را گزارش میدهد. خروجی ۶۲ بایتی دقیقاً همان توالی بایتِ امضا، IHDR، IDAT و IEND است که فیکسچر بدون آن دو چانک دارد. هیچ عملیاتی روی پیکسلها انجام نمیشود.
معنای دو محدوده
«فرادادهٔ شخصی شناختهشده» پیشفرض محافظهکارانه است. محفظههایی را حذف میکند که کاربرد تعریفشدهشان فرادادهٔ توصیفی است و دادههای جانبی ناآشنا را به حال خود میگذارد.
«پاکسازی حداکثری سازگار» وقتی مفید است که یک برنامه بلوک خصوصیِ بیتأثیر در رندر نوشته باشد. سازگاری همچنان واژهٔ کلیدی است: چانکهای فضای رنگ، شفافیت، اندازهٔ فیزیکی و انیمیشن باقی میمانند. «حداکثری» به معنای «اثبات ناشناس بودن» نیست و به معنای «دور ریختن همهچیز جز پیکسلها» هم نیست.
اگر هدف واقعی اندازهٔ فایل است، پس از پاکسازی از یک تغییر اندازهدهندهٔ تصویر یا مبدل قالب استفاده کنید. اگر به شاهدی نیاز دارید که نسخهٔ دانلودشده بعداً تغییر نکرده است، پس از عملیات نهایی چکسام فایل آن را محاسبه کنید.
مراحل انجام کار
- PNG را از روی امضای هشتبایتیاش و JPEG را از روی نشانگر آغاز تصویر شناسایی کنید، سپس چانکها یا سگمنتهای نشانگردار اعلامشدهٔ فایل را پیمایش کنید.
- محفظههای شناختهشدهٔ متن، EXIF، زمان و توضیحات را کنار بگذارید. پاکسازی حداکثری بلوکهای جانبی یا کاربردی ناشناختهای را هم که در رندر نقشی ندارند کنار میگذارد و ساختارهای رنگ و انیمیشن را حفظ میکند.
- هر محدودهٔ حفظشده را با ترتیب اصلی کپی کنید، از جمله چانکهای دادهٔ تصویر PNG و کل اسکن آنتروپیکدشدهٔ JPEG.
- تعداد بلوکهای کامل و بایتهای حذفشده را گزارش دهید، سپس بهجای تغییر فایل منبع انتخابشده، یک فایل جداگانه با همان قالب ارائه کنید.
فرضها
- منبع یک PNG یا JPEG از نظر ساختاری کامل است و از حد ورودی اعلامشدهٔ ۵۰ مگابایت بزرگتر نیست.
- پاکسازی شخصی محفظههای فرادادهٔ شناختهشده را هدف میگیرد؛ نمیتواند ثابت کند که در پیکسلها، نام فایلها، نسخههای ابری یا یک بلوک ناشناختهٔ حفظشده هیچ مادهٔ شناساییکنندهای وجود ندارد.
- پروفایلهای رنگ ICC، اطلاعات رنگ PNG، شفافیت، اندازهٔ فیزیکی پیکسل و کنترل انیمیشن APNG حفظ میشوند، چون حذف آنها میتواند نمایش تصویر را تغییر دهد.
- CRC چانکهای حفظشده و بایتهای اسکن کپی میشوند، نه اینکه دوباره اعتبارسنجی یا تعمیر شوند؛ این یک پاککنندهٔ فراداده است، نه ابزار بازیابی تصویر آسیبدیده.
پرسشهای رایج
آیا حذف فرادادهٔ تصویر کیفیت عکس را کاهش میدهد؟
این پاککننده هرگز تصویر را رمزگشایی یا بازرمزگذاری نمیکند. چانکهای IDAT و fdAT در PNG و بایتهای اسکن JPEG بایتبهبایت کپی میشوند، بنابراین این عملیات هیچ اتلاف فشردهسازی جدیدی ایجاد نمیکند.
آیا این تضمین میکند که عکس هیچ اطلاعات موقعیت مکانی ندارد؟
محفظهٔ EXIF را که معمولاً فیلدهای GPS را در خود دارد حذف میکند، اما هیچ پاککنندهٔ صرفاً فایلی نمیتواند خودِ پیکسلها، نام فایل، نسخهای دیگر یا هر افزونهٔ قالب خصوصی را تأیید کند. وقتی ریسک مهم است، فایل پاکشده را در همان سیستمی که قرار است در آن به اشتراک گذاشته شود بازبینی کنید.
چرا اندازهٔ تصویر پاکشده میتواند تقریباً همان اندازه به نظر برسد؟
فراداده در کنار پیکسلهای رمزگذاریشده معمولاً بسیار کوچک است. یک عکس بزرگ ممکن است فقط چند کیلوبایت کم شود، چون این ابزار بهجای تلاش برای کوچکتر کردن آن، ابعاد، کیفیت و جریان فشردهٔ تصویر را حفظ میکند.
چرا پروفایل ICC نگه داشته میشود؟
پروفایل ICC توضیح میدهد نمونههای رنگ چگونه باید نمایش داده شوند. این اطلاعاتِ رندر است، نه متن معمولی نویسندگی یا موقعیت مکانی، و حذف آن میتواند یک تصویر با گسترهٔ رنگی وسیع را بهطور محسوس تغییر دهد.