May dumating na folder noong nakaraang linggo: 312 product image, mula 800 × 800 hanggang 5472 × 3648, halo-halong JPG, PNG at ilang HEIC. Gusto ng marketplace ay 1600 × 1600 na JPG na wala pang 2MB. Ang isa pang bersyon ng trabahong ito ay ang paglilipat ng blog: dalawang daang PNG illustration na gagawing WebP na may limit na 1600 ang lapad. Magkaiba ang itsura ng dalawa, pero iisa lang ang pipeline.

Bakit sumasama ang quality kapag magkakahiwalay ang pass

Ang likas na paraan ay tatlong tool na magkakasunod: mag-resize at mag-download, mag-convert at mag-download, mag-compress at mag-download ulit. Kaya ng bawat isa ang batch, pero bawat isa rin ay nagre-re-encode ng file pagkatapos. Lossy ang JPG; sa bawat encode ay may nawawalang impormasyon, at pagkatapos ng tatlong ikot ay kita na sa zoom ang blocking at fringing sa mga gilid.

Ang tamang paraan ay mag-encode nang isang beses lang sa dulo. Dina-decode ang larawan bilang bitmap, tapos nire-resize, kino-crop at kino-convert sa memory, at sa huling hakbang lang magsusulat ng file sa target na format at quality. Ganito ang pagkakagawa ng Batch Image Processing: anim na hakbang sa nakapirming pagkakasunod-sunod, walang lossy na yugto sa pagitan.

Paghahambing ng quality: tatlong pass sa magkakahiwalay na tool kumpara sa isang pass sa pipeline
Ang parehong larawan pagkatapos ng tatlong re-encode (kaliwa) at isang encode (kanan)

Unang kaso: 300 product image para sa marketplace

Target: 1600 × 1600, JPG, wala pang 2MB, at pangalan ng shop sa kanang ibaba. Hakbang-hakbang:

  1. Size: Fill 1600 × 1600. Ang malapad at matangkad na larawan ay ini-scale muna hanggang matakpan lang ang kahon na iyon.
  2. Crop to ratio: 1:1. Ang sobra sa parisukat ay puputulin mula sa gitna; hindi apektado ang product shot na nasa gitna ang subject.
  3. Watermark: naka-on, ang text ay pangalan ng shop, nasa kanang ibaba, size na 4 porsyento, opacity na 50 porsyento.
  4. Output: JPG, quality 85, ang file names ay Rename to name-001 na may SKU o category bilang prefix.

Sa karaniwang laptop, matatapos ang 312 larawan sa tatlo hanggang apat na minuto, at lalabas na 200 hanggang 600KB bawat isa, malayong mas mababa sa 2MB na limit. Direktang nababasa ang mga orihinal na HEIC; hindi na kailangan ng hiwalay na conversion. Maayos ang pagkakasunod-sunod ng mga pangalan sa lumabas na ZIP, handa nang i-upload nang hindi pinapalitan ang pangalan.

May ilang product shot na malayo sa gitna ang subject, at puputulan ito ng center crop. Ihiwalay ang mga iyon, i-frame nang mano-mano sa Image Cropper, at ipasa sa pipeline nang hiwalay. Sa karamihan ng batch, wala pang isa sa sampu ang ganito.

Pangalawang kaso: paglilipat ng blog gallery sa WebP

Target: lahat ng illustration ay WebP, hindi lalampas sa 1600 ang lapad, at matalas pa rin ang mga screenshot. Mas simple kaysa sa unang kaso:

  1. Size: Width 1600 na naka-off ang Allow upscaling. Ang mas makitid na rito ay hindi gagalawin.
  2. Output: WebP, quality 80.
  3. File names: panatilihin ang orihinal. Kaya ang tanging magbabago sa mga post ay ang extension, mula .png tungong .webp.

Ang dalawang daang PNG na kino-convert sa ganitong paraan ay kadalasang nababawasan ng higit sa 70 porsyento ng bigat. Ang dapat lang bantayan ay ang mga logo at icon na transparent ang background. Sinusuportahan ng WebP ang transparency at pinapanatili ng pipeline ang alpha channel, kaya ayos lang; pero kung JPG ang target, pupunuin ng puti ang mga transparent na bahagi, at dapat manatiling PNG ang mga file na iyon.

Pagkatapos, ilagay ang dalawa sa mga resulta sa Image Converter para i-spot-check kung paano gumagana ang mga ito sa mas lumang browser. Murang paraan para makasiguro.

Fill, Fit o Longest side?

Ang resize mode ang setting na pinakamadalas na maling mapili. Bawat isa sa tatlong karaniwang mode ay para sa isang sitwasyon:

  • Longest side: ang mahalaga lang ay hindi masyadong malaki ang larawan at hindi mahalaga ang ratio. Para sa blog image at shared album.
  • Fit inside W × H: kailangang magkasya ang buong larawan sa kahon nang walang crop, kaya maaaring kulang ang isang gilid. Para sa thumbnail at slide.
  • Fill W × H: kailangang matakpan ang kahon at putulin ang sobra. Para sa marketplace image, avatar at card na may nakapirming ratio, kadalasang ipinapares sa Crop to ratio.

Mabilis na patakaran: kung ang sabi ng platform ay “hindi lalampas ng N pixels”, gamitin ang Longest side o Fit. Kung “dapat eksaktong W × H”, gamitin ang Fill.

Dalawang tseke bago patakbuhin

Una, tingnan ang live preview. Nire-render ng pipeline ang unang larawan nang kasama ang lahat ng kasalukuyang setting: posisyon ng watermark, kung naputol ba ng crop ang subject, anumang pagbabago sa kulay, lahat ay kita agad. Kumpirmahin bago pindutin ang Process all. Huwag nang matuklasan pagkatapos ng 300 file na nasa ibabaw pala ng produkto ang pangalan ng shop.

Pangalawa, itago ang mga orihinal. Hindi kailanman binabago ng pipeline ang mga source file mo, pero ang mga na-re-encode na output ay walang dalang EXIF o capture data, kaya tiyaking nakatago sa isang lugar ang mga orihinal bago i-download ang ZIP. Para sa mga larawang dapat mawalan ng location data, bentahe ito; tingnan ang ano ang EXIF metadata at bakit ito tatanggalin.

Maibubuod sa isang pangungusap ang batch resize at convert: mag-configure nang isang beses, patakbuhin ang buong batch, at huwag humawak ng disk sa pagitan. Ang natitira ay pagpili lang sa tatlong resize mode at dalawang output format.