راهنمای دسته‌ای تصاویر

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

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

آنچه نیاز دارید

برای شروع تبدیل دسته‌ای، تنها به چند مورد پایه نیاز دارید. ابتدا، فایل‌های منبعی که می‌خواهید تبدیل کنید را جمع‌آوری کنید. libvips از طیف گسترده‌ای از فرمت‌ها از جمله JPG، JPEG، PNG، WEBP، AVIF، GIF، BMP و TIFF پشتیبانی می‌کند.

دوم، باید اطمینان حاصل کنید که هیچ فایل تکی از محدودیت ۲۰ مگابایتی فراتر نرود. این محدودیت حجم فایل به شدت اعمال می‌شود. فایل‌هایی که از حد مجاز فراتر روند پردازش نخواهند شد.

اگر هر فایل در صف شما بزرگتر از ۲۰ مگابایت باشد، از حد مجاز فراتر رفته و libvips برای حفظ عملکرد، پردازش را متوقف می‌کند.

سوم، برای دسترسی به رابط کاربری به یک مرورگر وب مدرن نیاز دارید. libvips از مرورگر شما برای تسهیل فرآیند آپلود و دانلود استفاده می‌کند.

در نهایت، باید از قبل فرمت خروجی مورد نظر خود را انتخاب کنید. شما می‌توانید فایل‌های خود را به JPG، JPEG، PNG، WEBP، AVIF، GIF، BMP یا TIFF تبدیل کنید. انتخاب فرمت خروجی مناسب به نیازهای پروژه شما بستگی دارد.

برای مثال، اگر نیاز به حفظ لایه‌های شفاف دارید، باید PNG یا WEBP را انتخاب کنید. اگر اولویت شما سازگاری جهانی برای نمایش در وب است، JPG اغلب کاربردی‌ترین انتخاب است.

استفاده از Image Batch

قبل از باز کردن مرورگر، تمام تصاویری که می‌خواهید تبدیل کنید را در یک پوشه روی حافظه محلی خود جمع‌آوری کنید. این مرحله به شما کمک می‌کند سریعاً بررسی کنید که هیچ فایلی از محدودیت ۲۰ مگابایتی فراتر نرود. مرورگر خود را باز کرده و به رابط تبدیل دسته‌ای بروید.

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

منوی انتخاب فرمت را پیدا کنید. فرمت خروجی مورد نظر خود را از لیست فرمت‌های پشتیبانی‌شده انتخاب کنید: JPG، JPEG، PNG، WEBP، AVIF، GIF، BMP یا TIFF. libvips این انتخاب را برای تمام فایل‌های موجود در صف فعلی شما اعمال می‌کند.

روی دکمه تبدیل کلیک کنید. libvips بلافاصله پردازش فایل‌های شما را به صورت موازی آغاز می‌کند. با ترجمه داده‌ها توسط libvips، نشانگرهای پیشرفت را برای هر فایل مشاهده خواهید کرد.

پس از تکمیل تبدیل، مرورگر لینک‌های دانلود را ارائه می‌دهد. می‌توانید هر فایل را جداگانه دانلود کنید یا بسته به گزینه‌های رابط کاربری، آن‌ها را به صورت یک بسته گروهی دانلود کنید. پس از دانلود فایل‌ها، بررسی کنید که به درستی در دستگاه شما باز می‌شوند.

نحوه عملکرد

ابزار libvips از حالت مبتنی بر WebAssembly در سمت کلاینت استفاده می‌کند. این بدان معناست که حجم کاری به صورت استراتژیک کاملاً در مرورگر شما اجرا می‌شود. هنگامی که فایلی را آپلود می‌کنید، معماری مبتنی بر WebAssembly در سمت کلاینت، کارآمدترین روش برای پردازش صف را بدون کاهش عملکرد دستگاه شما تعیین می‌کند.

در سطح فنی، فایل‌های تصویری بسته‌های ساختاریافته‌ای از داده‌های باینری هستند. یک فرمت تصویری مانند PNG داده‌های بصری را با استفاده از طرح‌بندی شطرنجی بدون افت کیفیت ذخیره می‌کند، به این معنی که هر رنگ پیکسل و مقدار شفافیت دقیقاً همان‌طور که ایجاد شده ذخیره می‌شود. با این حال، فرمتی مانند JPG داده‌ها را با استفاده از یک فرمول ریاضی با افت کیفیت ذخیره می‌کند که پیکسل‌ها را در بلوک‌ها گروه‌بندی کرده و تغییرات ظریف رنگ را برای کاهش حجم فایل حذف می‌کند.

هنگامی که تبدیل را آغاز می‌کنید، libvips ابتدا هدر باینری فایل آپلود شده شما را تجزیه می‌کند. این هدر حاوی متادیتای ضروری مانند عرض تصویر، ارتفاع، پروفایل رنگ و تراکم پیکسل است. libvips این داده‌های باینری خام را به یک نقشه پیکسلی فشرده‌نشده که به طور موقت در حافظه نگهداری می‌شود، رمزگشایی می‌کند.

هنگامی که نقشه پیکسلی خام بازسازی شد، libvips انکودر فرمت خروجی انتخابی شما را اعمال می‌کند. برای مثال، اگر یک TIFF را به WEBP تبدیل کنید، libvips اطلاعات رنگ با تراکم بالا از نقشه شطرنجی TIFF را به ساختارهای کدگذاری پیش‌بینی‌کننده مدرن و بسیار کارآمد مورد استفاده در WEBP ترجمه می‌کند.

اگر در حال تبدیل از فرمتی که از لایه‌های شفاف پشتیبانی می‌کند (مانند PNG) به فرمتی که پشتیبانی نمی‌کند (مانند JPG) هستید، libvips باید کانال آلفای گمشده را جبران کند. این کار را با رندر کردن یک رنگ پس‌زمینه ثابت—معمولاً سفید—پشت عناصر شفاف در طول مرحله کدگذاری انجام می‌دهد.

در طول کل این فرآیند، libvips مبتنی بر WebAssembly در سمت کلاینت، تخصیص حافظه را به صورت پویا مدیریت می‌کند. با محدود کردن فایل‌های تکی به ۲۰ مگابایت، libvips از نشت حافظه در مرورگر شما جلوگیری کرده و اطمینان حاصل می‌کند که تبدیل‌های موازی باعث بارگذاری بیش از حد صف پردازش نمی‌شوند.

هنگامی که مشکلی پیش می‌آید

آپلود ناموفق است یا متوقف می‌شود: اگر آپلود شما در میانه راه متوقف شد، احتمالاً فایلی در صف شما از محدودیت ۲۰ مگابایتی فراتر رفته است. هنگامی که فایلی از حد مجاز فراتر می‌رود، libvips آن را رد می‌کند تا از اتمام حافظه محیط پردازش جلوگیری کند. برای حل این مشکل، ویژگی‌های فایل‌های خود را بررسی کرده و هر فایل تکی که بزرگتر از ۲۰ مگابایت است را حذف کنید.

تصاویر تبدیل‌شده دارای پس‌زمینه سیاه هستند: این اتفاق زمانی می‌افتد که تصویری با پس‌زمینه شفاف (مانند PNG) را به فرمتی تبدیل می‌کنید که از شفافیت پشتیبانی نمی‌کند (مانند JPG). از آنجا که فرمت JPG فاقد کانال آلفا است، libvips راهی برای ذخیره داده‌های شفافیت ندارد. این ابزار لایه شفافیت را حذف می‌کند که به طور پیش‌فرض به پیکسل‌های سیاه یا سفید ثابت تبدیل می‌شود.

برای رفع این مشکل، فایل‌های خود را به PNG یا WEBP تبدیل کنید.

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

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

انیمیشن‌ها متوقف می‌شوند: اگر یک GIF متحرک را به PNG یا JPG تبدیل کنید، فایل حاصل یک تصویر ثابت خواهد بود. این به این دلیل است که فرمت‌های ثابت فقط از یک لایه تصویر پشتیبانی می‌کنند. libvips نمی‌تواند چندین فریم یا تأخیر زمانی را در یک کانتینر ثابت بنویسد، بنابراین فقط اولین فریم انیمیشن شما را کدگذاری می‌کند.

### چرا لوگوی شفاف من پس از تبدیل پس‌زمینه سفید پیدا کرد؟ فرمت مقصد شما احتمالاً JPG است که از شفافیت پشتیبانی نمی‌کند. libvips باید کانال آلفای خالی را با یک رنگ ثابت، معمولاً سفید یا سیاه، پر کند. فایل خود را به PNG یا WEBP تبدیل کنید تا پس‌زمینه شفاف باقی بماند.

### چرا مبدل فایل تصویری ۲۵ مگابایتی من را رد می‌کند؟ فایل از حد مجاز ۲۰ مگابایت فراتر رفته است. libvips این محدودیت را برای هر فایل اعمال می‌کند تا اطمینان حاصل شود که صف‌های دسته‌ای به سرعت پردازش می‌شوند و باعث خرابی مرورگر یا بارگذاری بیش از حد حافظه سرور نمی‌شوند. ### چرا تصویر تبدیل‌شده من نسبت به نسخه اصلی تار است؟ اگر فرمت بدون افت کیفیت مانند PNG را به فرمت با افت کیفیت مانند JPG تبدیل کنید، libvips مقداری از داده‌های پیکسل را برای کاهش حجم فایل حذف می‌کند.

برای حفظ حداکثر وضوح، به یک فرمت مقصد بدون افت کیفیت مانند PNG تبدیل کنید.



Frequently Asked Questions

Q: Image Batch چگونه کار می‌کند؟

Image Batch فایل‌ها را کاملاً در مرورگر شما با استفاده از WebAssembly پردازش می‌کند. فایل‌های شما هرگز دستگاه شما را ترک نمی‌کنند.

Q: آیا استفاده از Image Batch رایگان است؟

بله، Image Batch کاملاً رایگان است و نیازی به ثبت‌نام یا حساب کاربری ندارد.