نصف کردن اندازهٔ یک عکس
«مقیاسکردن با درصد» را انتخاب کنید و آن را روی ۵۰ بگذارید. هر دو ضلع نصف میشوند، بنابراین یک عکس ۴۰۰۰ × ۳۰۰۰ به ۲۰۰۰ × ۱۵۰۰ تبدیل میشود. نصف کردن هر ضلع تعداد پیکسلها را یکچهارم میکند، و به همین دلیل فایل معمولاً بسیار بیشتر از نصف کوچک میشود. درصدها اینجا عیناً اعمال میشوند، بنابراین ۲۰۰ تصویر را بزرگ میکند، حتی اگر «هرگز آن را بزرگتر نکن» روشن مانده باشد.
PNG، JPEG، WebP یا GIF. فایل در همین تب خوانده میشود و سروری برای فرستادن آن وجود ندارد.
نصف کردن هر دو ضلع سهچهارم پیکسلها را حذف میکند، بنابراین فایل معمولاً بیش از نصف کوچک میشود.
مقیاس ۵۰٪ یک بُعد فرد به نزدیکترین پیکسل کامل گرد میشود: ۱۰۰۱ به ۵۰۱ تبدیل میشود، نه ۵۰۰٫۵.
نصف کردن تنها کاهشی است که مرورگر آن را تمیز بازنمونهبرداری میکند، چون هر پیکسل خروجی میانگین دقیقاً چهار پیکسل ورودی است.
چگونگی کار
مراحل انجام کار
- اولین بایتهای فایل انتخابشده را بخوان و فقط از روی همانها تشخیص بده که PNG است یا JPEG، WebP یا GIF، و ادعا میکند چند پیکسل دارد. نوع اعلامشدهٔ فایل بررسی نمیشود، چون Safari یک HEIC را بدون هیچ نوعی گزارش میکند.
- هر چیزی بالاتر از ۸۰ مگاپیکسل را همینجا، پیش از تخصیص حتی یک بایت، رد کن. یک تصویر رمزگشاییشده، فارغ از حجم فایل، به ازای هر پیکسل چهار بایت جا میگیرد، بنابراین یک پانورامای ۱۰۰ مگاپیکسلی ۴۰۰ مگابایت حافظه است که یک تب مرورگر ندارد.
- تصویر را با رمزگشای خود مرورگر رمزگشایی کن و صریحاً بخواه که جهت EXIF اعمال شود، تا عکسی که عمودی گرفته شده همانطور که دیده میشود اندازهگیری شود، نه آنطور که حسگر ثبتش کرده است.
- یک ضریب مقیاس را از ابعاد رمزگشاییشده محاسبه کن و هر دو ضلع را در آن ضرب کن، و هر یک را به یک پیکسل کامل گرد کن. فقط حالت اندازهٔ دقیق از دو ضریب استفاده میکند، و آن هم فقط چون به آن گفته شده نسبت ابعاد را نادیده بگیرد.
- تصویر را پیاپی نصف کن تا جایی که یک نصفکردن دیگر از هدف رد شود، سپس آخرین مرحله را مستقیماً به اندازهٔ هدف رسم کن. مرورگر با یک کرنل کوچک بازنمونهبرداری میکند، بنابراین یک کاهش ۱۰ برابری در یک مرحله از هر ده پیکسل فقط حدود یکی را نمونه میگیرد و بقیه را دور میریزد.
- وقتی خروجی JPEG است، ابتدا بوم را با رنگ پسزمینه (مت) پر کن، چون JPEG کانال آلفا ندارد و یک پیکسل شفاف باید به چیزی تبدیل شود.
- بوم نهایی را بهصورت PNG یا JPEG رمزگذاری کن، نوعی را که مرورگر میگوید واقعاً نوشته بازخوانی کن، و آن را بهصورت دانلودی ارائه بده که به نام فایل اصلی با ابعاد جدید افزودهشده به آن نامگذاری شده است.
فرضها
- هر دو ضلع با یک ضریب مقیاس میشوند و سپس به پیکسل کامل گرد میشوند، بنابراین نسبت ابعاد میتواند تا نیم پیکسل جابهجا شود. روی یک عکس ۴۰۰۰ پیکسلی این تغییری حدود ۰٫۰۱٪ است، و تنها راه پرهیز از رانش بسیار بزرگتری است که از گرد کردن جداگانهٔ دو ضلع پیش میآید.
- جهت EXIF اعمال میشود. عکسی که سرآیند فایلش ۴۰۰۰ در ۳۰۰۰ میگوید اما برچسب یکربع چرخش دارد، ۳۰۰۰ در ۴۰۰۰ در نظر گرفته میشود، چون این همان چیزی است که در نمایشگر عکس خود میبینید و هر بُعدی که از آن مشتق میشود باید با آن سازگار باشد.
- کلید «هرگز آن را بزرگتر نکن» برای حالتهای کادر، عرض و ارتفاع اعمال میشود، که هدفی را توصیف میکنند که تصویر باید درون آن جا شود. یک درصد یا یک اندازهٔ دقیق عیناً اعمال میشود، بنابراین ۲۰۰٪ واقعاً بزرگ میکند.
- از یک GIF یا WebP متحرک فقط فریم اول باقی میماند. یک بوم یک فریم را در خود جا میدهد، و سرهمکردن دوبارهٔ یک انیمیشن به رمزگذاری نیاز دارد که مرورگر در اختیار نمیگذارد.
- پروفایل رنگی تعبیهشده معمولاً حذف میشود. اکثر موتورها یک عکس با گاموت وسیع را هنگام رسم روی بوم به sRGB تبدیل میکنند، بنابراین یک تصویر Adobe RGB میتواند کمی بیرمقتر از اصل به نظر برسد.
- یک JPEG رمزگشایی و دوباره رمزگذاری میشود، هرگز کپی نمیشود. حتی با کیفیت ۱۰۰٪ هم این کار اندکی جزئیات بیشتر را از دست میدهد، و به همین دلیل است که «حفظ فرمت اصلی» یک WebP یا GIF را بهصورت PNG بیاتلاف مینویسد، نه JPEG.
- KB یعنی ۱٬۰۲۴ بایت و MB یعنی ۱٬۰۲۴ KB، که همان چیزی است که مدیر فایل دسکتاپ نشان میدهد و بنابراین همان چیزی است که این رقم با آن مقایسه میشود.
پرسشهای رایج
آیا نصف اندازه یعنی نصف فایل؟
نه — یعنی نصف عرض و نصف ارتفاع، که یکچهارم پیکسلهاست. فایل معمولاً تا حدی کمتر از سهچهارم کوچک میشود، چون فشردهسازی روی یک ناحیهٔ بزرگ و یکنواخت بهتر از همان تصویر کوچکشده کار میکند، اما آن یکچهارم بخش قابل اتکاست.
آیا نصف کردن اندازه همان نصف کردن کیفیت است؟
نه، و این دو مستقلاند. اندازه یعنی چند پیکسل وجود دارد؛ کیفیت یعنی رمزگذار پیکسلهایی را که به آن داده میشود چقدر سخت فشرده میکند. نصف کردن ابعاد و دست نزدن به کیفیت تقریباً همیشه بهتر از بزرگ نگه داشتن تصویر و فشردهسازی شدید برای رسیدن به همان اندازهٔ فایل به نظر میرسد.
منابع
روش کامل، مثال محاسبهشده و همهٔ فرضهای این نتیجه در این صفحه آمده است: تغییر اندازهٔ تصویر.