طراحی گرافیک

فرمت های تصویر؛ کدام را کجا

انتخاب فرمت تصویر سلیقه ای نیست: نوع خود تصویر جواب را تعیین می کند. عکس با فشرده سازی با اتلاف کوچک می شود، لوگو و آیکن باید وکتور بمانند، و هر چیزی که شفافیت لازم دارد از JPEG بیرون می افتد.

  • درس ۶ از ۱۲
  • مقدماتی
  • رایگان، بدون ثبت نام

چهار کاری که فرمت را انتخاب می کنند

خانه ها برچسب محور ندارند چون محوری در کار نیست: هر خانه یک کار است و جوابش کنارش نوشته شده.

  • عکس

    AVIF یا WebP، با JPEG به عنوان جایگزین.

  • تصویر متن دار

    WebP بدون اتلاف یا PNG. لبه حروف اول خراب می شود.

  • لوگو و آیکن و نمودار

    SVG. یک فایل برای فاوآیکون و بنر سه متری.

  • حرکت

    ویدیو، نه GIF. کوچک تر و تمیزتر است.

یک تصویر

این چهار خانه انتخاب فرمت را حل می کنند، نه اندازه را. تصویر با فرمت درست و اندازه غلط همچنان کند است.

آخرین بررسی: فکت ها و نام ابزارهای این درس در همین تاریخ با منابعشان بازبینی شده اند.

رستر یا وکتور؛ سوالی که قبل از فرمت جواب می خواهد

فرمت تصویر فقط پسوند فایل نیست. تعیین می کند داده تصویر چطور بسته بندی شود و فایل اجازه دارد چه چیزی را نگه دارد: شفافیت، انیمیشن، عمق رنگ. برای همین انتخاب فرمت یک تصمیم فنی است و جواب درست دارد.

قبل از هر چیز یک تقسیم وجود دارد که بقیه تصمیم ها از دل آن بیرون می آید. تصویر رستر یک شبکه از پیکسل است: عکس دوربین، اسکرین شات، هر چیزی که از دنیای واقعی آمده. بزرگش که کنید، نرم افزار مجبور می شود پیکسل هایی بسازد که در فایل نبوده اند. تصویر وکتور اصلا پیکسل ندارد؛ دستور کشیدن شکل است. همان لوگو در اندازه فاوآیکون و روی بنر سه متری از یک فایل کشیده می شود و هر دو بار تیز است.

نتیجه عملی این تقسیم را جای دیگری می بینید. لوگویی که فقط به شکل یک PNG پانصد پیکسلی تحویل گرفته اید بن بست است، چون از آن به بعد هر اندازه بزرگ تر یعنی طراحی از نو. برعکسش هم درست است: برای عکس، وکتور بی معنی است و هیچ کس چهره یک آدم را با چند صد شکل هندسی توصیف نمی کند. راهنمای فرمت های موزیلا هم SVG را برای عناصر رابط کاربری، آیکن و نمودار پیشنهاد می کند، یعنی دقیقا جایی که تصویر باید در اندازه های مختلف دقیق کشیده شود.

رستر و وکتور، دو چیز متفاوت با دو کاربرد درست

رستر: شبکه ای از پیکسل

  • عکس، اسکرین شات، هر چیزی که از دنیای واقعی آمده
  • بزرگ کردن یعنی ساختن پیکسل هایی که در فایل نبوده اند
  • هر اندازه یک خروجی جدا لازم دارد
  • JPEG، PNG، WebP، AVIF، GIF

وکتور: دستور کشیدن شکل

  • لوگو، آیکن، نمودار، هر چیزی که کشیده شده
  • در هر اندازه تیز است، بی هیچ خروجی تازه
  • سال بعد هم قابل ویرایش است
  • SVG برای وب، AI و EPS به عنوان فایل منبع

هیچ کدام بهتر از دیگری نیست. اشتباه وقتی پیش می آید که کار یکی را به آن یکی بسپارید.

شش فرمتی که واقعا به کار می آیند

شش فرمت عملا همه کار وب را انجام می دهند. ستون های زیر از راهنمای فرمت های تصویر موزیلا خوانده شده اند، نه از تجربه شخصی.

فرمتفشرده سازیشفافیتانیمیشنجای درستش
JPEGبا اتلافنداردنداردعکس، وقتی فرمت جدیدتر در دسترس نیست
PNGبدون اتلافکانال آلفافقط با APNGطرح تخت، اسکرین شات، جایی که دقت مهم است
WebPبا اتلاف یا بدون اتلافکانال آلفاداردگزینه پیش فرض امروز برای تصویر رستر
AVIFبا اتلاف یا بدون اتلافکانال آلفاداردعکس، وقتی فشرده سازی بهتر می ارزد
SVGوکتور، بدون اتلافداردداردلوگو، آیکن، نمودار
GIFبدون اتلاف روی پالت حداکثر ۲۵۶ رنگفقط دو حالتهداردتقریبا هیچ جا

پشتیبانی مرورگر را عمدا در جدول نیاوردیم، چون یک بله و خیر ساده نیست و فهرست نسخه است. JPEG و PNG و GIF و SVG در همه نسخه های کروم، اج، فایرفاکس، اپرا و سافاری کار می کنند. WebP هم همینطور، با یک شرط که موزیلا صریح نوشته: روی مک به سافاری ۱۴ به بالا و هم زمان مک او اس بیگ سور یا بالاتر نیاز است. AVIF جوان تر است و موزیلا نسخه هایش را اینطور می نویسد: کروم ۸۵، اپرا ۷۱، فایرفاکس ۹۳، سافاری ۱۶.۱ و اج ۱۲۱. برای همین هم توصیه خود موزیلا این است که برای AVIF یک جایگزین WebP یا JPEG یا PNG با picture بگذارید.

و یک موضع که همه با آن موافق نیستند: GIF را فرهنگ زنده نگه داشته، نه مهندسی. پالتش سقف ۲۵۶ رنگ دارد، شفافیتش دو حالته است و برای انیمیشن هیچ فشرده سازی واقعی بین فریم ها ندارد. راهنمای موزیلا هم برای انیمیشن WebP یا AVIF یا APNG را پیشنهاد می کند. GIF تنها جایی می ماند که مقصد شما فقط GIF قبول کند.

کدام فرمت برای کدام کار

به جای شروع از فرمت، از کار شروع کنید. چهار حالت تقریبا همه چیز را پوشش می دهد.

  • عکس. AVIF یا WebP، با JPEG به عنوان جایگزین. اگر لایه کش یا CDN شما خودش فرمت را با مرورگر مذاکره می کند، کار شما فقط این است که یک مستر خوب بالا بگذارید و بگذارید آن لایه تصمیم بگیرد.
  • اسکرین شات و هر تصویری که متن دارد. اینجا فشرده سازی با اتلاف بیشترین آسیب را می زند، چون خرابی از لبه حروف شروع می شود. WebP بدون اتلاف یا PNG.
  • لوگو، آیکن، نمودار. SVG. اگر مقصد SVG نمی پذیرد، از فایل وکتور خروجی PNG بگیرید؛ PNG موجود را بزرگ نکنید. درس طراحی لوگو همین نتیجه را از سمت طراحی می گیرد.
  • حرکت. ویدیو، نه GIF. یک MP4 یا WebM کوتاه هم کوچک تر است هم تمیزتر و کنترل پخشش هم دست شماست.

یک هشدار درباره SVG که کمتر گفته می شود: SVG یک سند XML است و می تواند اسکریپت داشته باشد. فایل وکتوری که از یک منبع ناشناس گرفته اید را همانطور روی سایت بالا نگذارید. برای آیکن های خودتان مسئله ای نیست، برای فایلی که کاربر آپلود می کند هست.

و یک صرفه جویی که بیشتر از تغییر فرمت جواب می دهد: بخش زیادی از چیزی که آدم ها تصویر می گذارند اصلا لازم نیست تصویر باشد. آیکن، نمودار، جدول و لوگوی متنی همه شان با متن و CSS و SVG ساخته می شوند، و آن وقت نه فرمتی دارند که انتخاب شود، نه اندازه ای که خراب شود.

یک سوال که بیشتر تصمیم های فرمت را حل می کند

این تصویر از دوربین آمده یا کسی آن را کشیده است؟

از دوربین یا صفحه

رستر است، پس فرمت را محتوا تعیین می کند

  • رنگ های پیوسته و بدون متن: AVIF یا WebP با اتلاف
  • متن یا رنگ تخت دارد: WebP بدون اتلاف یا PNG
  • شفافیت لازم دارد: JPEG از فهرست حذف می شود
کشیده شده

وکتور است و باید وکتور بماند

  • SVG برای وب، فایل منبع برای ویرایش های بعدی
  • مقصد SVG نمی پذیرد: از وکتور PNG خروجی بگیرید
  • فایل ناشناس: SVG می تواند اسکریپت داشته باشد

این فورک حالت های مرزی را حل نمی کند: عکسی که رویش متن گذاشته اید هر دو طرف را دارد و باید با چشم تصمیم بگیرید.

شفافیت و انیمیشن، دو جایی که انتخاب اشتباه فورا دیده می شود

JPEG کانال آلفا ندارد. موزیلا همین یک جمله را می نویسد و همه چیز از آن نتیجه می شود: چیزی به اسم JPEG شفاف وجود ندارد و آنچه تحویل می گیرید یک مستطیل سفید است.

GIF شفافیت دارد ولی دو حالته. یک شماره رنگ در پالت به عنوان شفاف علامت می خورد و هر پیکسلی که آن رنگ را داشته باشد کاملا شفاف می شود؛ بقیه کاملا مات می مانند. حد وسط وجود ندارد. نتیجه اش همان حاشیه پله پله دور لوگوست، و نکته ای که آدم ها را ساعت ها سرگردان می کند این است: رنگ آن حاشیه از پس زمینه ای می آید که فایل رویش تخت شده. لوگویی که روی سفید ساخته شده، روی پس زمینه تیره یک هاله روشن دارد و هرچه در نرم افزار بگردید پیدایش نمی کنید، چون در فایل است نه در طرح.

PNG و WebP و AVIF کانال آلفای واقعی دارند و لبه نرم را نرم نگه می دارند. برای انیمیشن هم همین ها به علاوه APNG کار GIF را بهتر انجام می دهند. ولی صادقانه تر از این: اگر چیزی که می سازید بیش از چند ثانیه است، اصلا تصویر متحرک نیست؛ ویدیوست و باید ویدیو بماند.

موقع خروجی گرفتن چه چیزی را تنظیم کنیم

ترتیب کارها بیشتر از خود عددها اهمیت دارد.

اول اندازه. تصویر را در همان اندازه ای خروجی بگیرید که واقعا نمایش داده می شود، و برای نمایشگرهای متراکم ضربدر دو. هیچ تنظیم کیفیتی یک تصویر چهار هزار پیکسلی را که در جای ششصد پیکسلی نشسته نجات نمی دهد. این یک تنظیم معمولا از تغییر فرمت اثر بیشتری دارد، و چون اندازه تصویر مستقیم روی شاخص های Core Web Vitals اثر می گذارد، اگر مسئله شما سرعت سایت است کار از همین جا شروع می شود نه از فرمت.

بعد کیفیت، به شرط اینکه بدانید آن عدد چیست. عدد کیفیت درصد چیزی نیست؛ یک دستگیره روی انکودر است و عدد یکسان در دو انکودر مختلف دو معنی می دهد. روش عملی: خروجی را در بزرگنمایی صد درصد کنار اصل بگذارید، عدد را پایین بیاورید تا جایی که تفاوت را ببینید، بعد یک پله برگردید. و جایی که باید نگاه کنید آسمان و پس زمینه نیست؛ لبه حروف و مرز رنگ های تخت است، چون خرابی اول همان جا ظاهر می شود.

از فایل با اتلاف دوباره خروجی نگیرید. هر بار انکود، از چیزی که قبلا از دست رفته دوباره کم می کند. همیشه به مستر برگردید، حتی وقتی فقط می خواهید تصویر را کمی کوچک تر کنید.

دو کار کوچک هم عادت شدنشان می ارزد: متادیتا را برای وب پاک کنید و اسم فایل را توصیفی بگذارید. یک هشدار درباره پاک کردن متادیتا که ارزش دانستن دارد: اگر تصویر خروجی یک ابزار هوش مصنوعی باشد، نشانه اش لزوما در متادیتا نیست. گوگل درباره SynthID می نویسد واترمارک داخل خود تصویر جاسازی می شود و طوری طراحی شده که در برابر برش، افزودن فیلتر و فشرده سازی با اتلاف دوام بیاورد. یعنی تبدیل فرمت آن را پاک نمی کند.

مسیر سریع با هوش مصنوعی

وقتی یک پوشه دویست تصویری دارید، تصمیم فرمت را تک تک گرفتن کار نیست، تنبیه است. کار درست این است که اول از خود فایل ها یک فهرست مکانیکی بگیرید و بعد آن فهرست را به یک مدل زبانی بدهید. مدل سریع و ارزان از رده Flash برای این کافی است و انتخاب فعلی ما در بخش هوش مصنوعی همین سایت فهرست شده است. حقه کار در ستون تعداد رنگ است: عکس واقعی ده ها هزار رنگ دارد و یک گرافیک تخت چند صد تا، و همین یک عدد جدا کننده ای است که در آموزش ها گفته نمی شود.

  1. از پوشه یک فهرست بگیرید. با ImageMagick یک خط کافی است: identify -format "%f|%m|%wx%h|alpha=%A|colors=%k|%b\n" * که برای هر فایل نام، فرمت، ابعاد، داشتن شفافیت، تعداد رنگ و حجم را می دهد.
  2. بگویید هر تصویر کجا نمایش داده می شود و در چه عرضی. بدون این، مدل نمی تواند بگوید کدام فایل باید کوچک تر شود و فقط درباره فرمت حرف می زند.
  3. نسخه پایین را با فهرست پر کنید و اجرا بگیرید. خروجی یک نقشه است، نه یک نظر: برای هر فایل یک کار.
  4. تبدیل ها را اجرا کنید و بعد دو چیز را چک کنید: خروجی واقعا کوچک تر شده و لبه حروف سالم مانده. فایلی که بعد از تبدیل بزرگ تر شد یک نتیجه است، نه یک خطا؛ یعنی همان فرمت قبلی جای درستش بوده.

نسخه آماده کپی

نقش: مهندس بهینه سازی تصویر برای وب. کار تو تصمیم گرفتن درباره فرمت و اندازه است، نه توصیه کلی. هیچ عددی نساز که در فهرست نباشد.

قاعده هایی که باید با آنها تصمیم بگیری:
۱. تعداد رنگ زیاد و بدون متن یعنی عکس: AVIF یا WebP با اتلاف.
۲. تعداد رنگ کم یا وجود متن و لبه تیز یعنی گرافیک: WebP بدون اتلاف یا PNG.
۳. alpha=True یعنی JPEG از فهرست حذف است.
۴. اگر عرض فایل بیشتر از دو برابر عرض نمایش است، اول اندازه را کم کن؛ تغییر فرمت کار دوم است.
۵. اگر فایل SVG است یا محتوایش کشیده شده، اصلا تبدیلش نکن.

جایی که نمایش داده می شود و عرض واقعی هر گروه:
{مثلا: کارت مقاله = ۴۰۰ پیکسل | تصویر شاخص = ۸۰۰ پیکسل | آیکن = ۴۸ پیکسل}

فهرست فایل ها، هر خط: نام|فرمت|ابعاد|alpha|تعداد رنگ|حجم
{فهرست}

برای هر فایل دقیقا یک خط بده با این ستون ها:
نام | دسته (عکس یا گرافیک یا وکتور) | کاری که باید بشود | فرمت مقصد | عرض مقصد | دلیل در حداکثر ده کلمه

آخر کار سه فهرست کوتاه بده:
الف. فایل هایی که فقط باید کوچک شوند و فرمتشان درست است.
ب. فایل هایی که تصمیمشان از روی این ستون ها قطعی نیست و باید با چشم دیده شوند.
ج. فایل هایی که اصلا نباید تصویر باشند و با متن یا CSS ساخته می شوند.

قبل از اعتماد به خروجی: مدل پیکسل ها را نمی بیند؛ یک جدول می بیند. پس تصمیم های مکانیکی را درست می گیرد و هر جا سوال کیفیت باشد باید خودتان نگاه کنید. دو چیز را هم هیچ وقت به این نقشه نسپارید: فایلی که مستر وکتور دارد باید از مستر خروجی بگیرد نه از تبدیل، و هر خروجی روی متن و لبه های تیز باید با چشم چک شود.

هوش مصنوعی در این کار

انتخاب فرمت یکی از معدود کارهای طراحی است که مدل زبانی در آن چیز تازه ای اضافه نمی کند، چون قاعده هایش نوشته شده و ثابت اند. جایی که واقعا وقت آزاد می کند حجم است: دویست فایل، یک جدول، یک نقشه. و یک کار را هرگز به مدل نسپارید که پایین در بخش ریسک آمده.

ابزارهایی که واقعا کمک می کنند

  • Gemini برای پاس مکانیکی روی فهرست فایل ها، با مدل سریع و ارزانش. صفحه خود گوگل می گوید اپ وب جمینای در بیش از دویست و سی کشور و منطقه کار می کند و ایران در آن فهرست نیست.
  • Claude برای نوشتن خود اسکریپت تبدیل و بلوک picture با جایگزین، چون کد را توضیح می دهد و توضیحش قابل رد کردن است. ایران در فهرست کشورهای پشتیبانی شده انتروپیک نیست و پرداخت رسمی از ایران انجام نمی شود.
  • ImageMagick هوش مصنوعی نیست و عمدا در این فهرست آمده: کاری که در این درس واقعا تکرار شونده است با یک خط دستور انجام می شود و هیچ مدلی لازم ندارد. مدل فقط تصمیم می گیرد، ابزار اجرا می کند.
  • RGB لایه دسترسی و پرداخت برای ایران، جدا از خود ابزارها.

کجا نتیجه معکوس می دهد

کاری که هرگز نباید به مدل بسپارید این است: پرسیدن اینکه امروز کدام مرورگر کدام فرمت را پشتیبانی می کند. مدل جواب می دهد، جواب مطمئن به نظر می رسد، و از داده آموزشی می آید که تاریخش را به شما نمی گوید. پشتیبانی فرمت با هر نسخه مرورگر عوض می شود، پس جواب باید از caniuse یا راهنمای موزیلا بیاید، نه از حافظه یک مدل و نه از همین صفحه ای که می خوانید. ریسک دوم ظریف تر است: مدل تصویر شما را نمی بیند. هر جوابی از جنس «این باید JPEG باشد» بدون خود فایل، حدس است. و اگر تصویرها خروجی یک ابزار هوش مصنوعی باشند، پاک کردن متادیتا کافی نیست؛ گوگل می نویسد واترمارک SynthID داخل خود تصویر می نشیند و برای دوام آوردن در برابر برش و فیلتر و فشرده سازی با اتلاف طراحی شده.

منبع ها: MDN: Image file type and format guide Can I use: WebP browser support Google DeepMind: SynthID

حد این توصیه

فرمت اهرم کوچکی است. یک تصویر دو هزار و پانصد پیکسلی که بی نقص به AVIF تبدیل شده، هنوز فایل غلطی برای جایگاه ششصد پیکسلی است؛ اندازه تقریبا همیشه از فرمت مهم تر است. عددهای پشتیبانی مرورگر هم در این صفحه تاریخ مصرف دارند: نسخه هایی که خواندید از راهنمای موزیلا در همان تاریخی است که بالای صفحه نوشته شده، و روش درست امروز باز کردن caniuse است، نه اعتماد به هیچ صفحه ای. و اگر یک لایه کش یا CDN دارد فرمت را با مرورگر مذاکره می کند، عوض کردن فرمت مستر شما ممکن است برای بازدیدکننده هیچ تغییری نداشته باشد.

از تجربه خود ما

روی همین سایت این حرف ها اجرا شده و قابل بازخوانی است. کتابخانه رسانه rgb.ir در ۲۰۲۶-۰۹-۰۶ دویست و سی و هشت پیوست تصویری دارد و هر دویست و سی و هشت تا image/webp اند؛ یک JPG یا PNG در فهرست نیست. جالب تر اینکه تبدیل خودکار هنگام آپلود در لایه کش خاموش است، یعنی هیچ افزونه ای این را نساخته: فایل ها قبل از آپلود تبدیل و فشرده می شوند، چون قاعده مکتوب خود سایت همین است. همان لایه کش هم روی webp تنظیم شده در حالی که پیش فرض خود افزونه avif است. و یک تله که اینجا هزینه اش را داده ایم: نوشتن width و height روی تگ img همه ماجرا نیست، چون main.css برای کل سایت img, svg, video { max-width: 100%; height: auto } را می نویسد و این قاعده بر یک صفت ارتفاع ظاهری غلبه می کند. در ۲۰۲۶-۰۸-۲۸ همین باعث شد آواتارهای عکسی در فهرست فریلنسرها بیضی رندر شوند تا وقتی که شکل را با aspect-ratio از CSS گرفتند.

سوال هایی که واقعا پرسیده می شوند

WebP بهتر است یا AVIF؟

موزیلا می نویسد AVIF کمی بهتر فشرده می کند ولی پشتیبانی اش به اندازه WebP جا نیفتاده و رندر تدریجی هم ندارد. برای همین توصیه خودش گذاشتن یک جایگزین با picture است. اگر فقط یکی را می خواهید انتخاب کنید، WebP انتخاب کم دردسرتری است.

چرا لوگوی من روی پس زمینه تیره حاشیه روشن دارد؟

چون فایل شفافیت واقعی ندارد یا روی سفید تخت شده است. GIF شفافیت دو حالته دارد و لبه نرم را نگه نمی دارد. راه حل، گرفتن خروجی تازه از فایل وکتور به شکل SVG یا PNG است، نه اصلاح همان فایل.

هنوز باید JPEG بگذارم؟

به عنوان جایگزین بله، به عنوان تنها فرمت نه. JPEG در همه مرورگرها کار می کند و همین آن را جایگزین امنی می کند، ولی نه شفافیت دارد و نه به اندازه WebP و AVIF فشرده می شود. اگر لایه کش شما خودش مذاکره می کند، این کار را همان لایه انجام می دهد.