LeanImg

Câte imagini pot să convertesc în lot într-o filă de browser?

Ce costă de fapt un lot în browser: 10 fișiere și 50 MB pe rulare, câte o fișier pe rând, și un codare AVIF care durează 10 secunde fiecare.

Un folder cu 300 de fișiere este ceea ce majoritatea oamenilor înseamnă prin "batch convert images". Iată ce face de fapt o filă de browser cu asta. converter de la LeanImg acceptă 10 fișiere și 50 MB pe lot, și le procesează unul câte unul, decodând și re-codând fiecare fișier înainte de a trece la următorul. Asta este limita. Este prețul lucrului care face instrumentul demn de deschis: nimic din ceea ce pui pe el nu părăsește vreodată mașina ta.

Fiecare alt converter din acest domeniu trimite fișierele tale pe un server, le convertește acolo și promite ștergerea în una sau două ore. Acesta nu are rute API și nu are acțiuni pe server, așa că nu există nicăieri unde să încarci. Decodarea și codarea au loc ambele în fila ta, prin createImageBitmap și codecuri WASM. CPU-ul tău este întregul buget.

Câte fișiere pot să convertesc deodată?

Zece, pe cele patru instrumente care acceptă un lot: compress, resize, convert și remove background. Fiecare dintre acestea limitează de asemenea lotul la 50 MB total pentru toate fișierele. Trei instrumente acceptă exact o imagine. Cropper-ul și generatorul de icoane limitează acel fișier unic la 10 MB, iar upscaler-ul permite 50 MB deoarece un model 4x rulat pe o sursă mică produce totuși un PNG mare.

InstrumentFișiere pe lotLimită de dimensiune
/compress-image1050 MB total
/resize-image1050 MB total
/convert1050 MB total
/remove-background1050 MB total
/crop-image110 MB
/icon-generator110 MB
/upscale-image150 MB

Ce se întâmplă cu fiecare fișier din lot?

Bucla este secvențială. Fiecare fișier este decodat în pixeli RGBA brut, apoi re-codat în formatul țintă, iar bucla așteaptă un rezultat înainte de a începe următorul. Dacă un fișier nu reușește să se decodeze, este marcat cu o eroare și rularea continuă, așa că un PNG defect într-un set de zece nu îți costă celelalte nouă. Compresorul își împinge munca într-un singur Web Worker astfel încât pagina să rămână receptivă în timp ce lucrează; converterul își face treaba pe firul principal cu OffscreenCanvas. Niciunul nu împrăștie un lot pe nucleele tale.

Trei comportamente pe fișier îi surprind pe oameni. Compresia elimină toate metadatele, inclusiv EXIF, GPS, profilul ICC și miniatura încorporată, deși orientarea supraviețuiește. Conversia în JPG sau PDF compune transparența pe alb, deoarece niciunul dintre formate nu transportă un canal alpha. Un GIF animat pierde fiecare cadru după primul, deoarece niciun encoder pe calea de conversie nu scrie animația.

Ce conversii pot să batch-uiesc de fapt?

Registrul conține 11 formate. Zece dintre ele decodează: JPG, PNG, WebP, AVIF, GIF, HEIC, SVG, TIFF, BMP și ICO. Doar cinci codifică: JPG, PNG, WebP, AVIF și PDF. Așadar, HEIC, SVG, TIFF, BMP, GIF și ICO sunt uși cu o singură direcție, ceea ce acoperă cele 24 de perechi pe care le publicăm. Batch-uiește un folder de HEIC de iPhone în JPG și fiecare fișier se convertește, ceea ce este soluția pentru un PC cu Windows care arată acele fotografii ca fișiere defecte. Cere inversul și nu există un encoder care să îți ofere.

PDF este locul unde forma unui lot de browser se arată cel mai clar. Fiecare imagine devine propriul său PDF pe o singură pagină. Asta este intenționat, și nu există niciun pas de unire în pipeline, așa că zece imagini îți oferă zece PDF-uri în loc de un document de zece pagini. Imaginea paginii este încorporată ca JPEG la calitatea 92 prin encoder-ul canvas-ului browser-ului, ceea ce explică de ce un JPG de 538.6 KB a ieșit ca un PDF de 674.2 KB în rularea noastră. Dacă ai nevoie de un fișier cu 40 de pagini în el, acesta nu este instrumentul tău.

Două fișiere JPG convertite în două fișiere PDF separate, fiecare cu propriul buton de descărcare
Două JPG-uri intră, două PDF-uri ies. Converterul nu îmbină niciodată un lot într-un singur document.

De ce se mișcă încet lotul meu când aleg AVIF?

Pentru că codarea AVIF este costisitoare. Am rulat aceeași sursă în trei moduri, texture.jpg la 3840x2160 și 538.6 KB, și am cronometra fiecare codare.

ȚintăSlider 80Slider 63Viteză de codare
JPEG286.1 KBnu a fost măsuratinstant
WebP290.3 KB200.6 KBinstant
AVIF312.7 KB186.9 KB10 până la 11 secunde

Coloana slider-80 se citește invers până când știi ce înseamnă acel număr pentru fiecare encoder. Pentru o sursă JPEG, calea noastră JPEG înmulțește slider-ul tău cu calitatea pe care o citește din tabelele de cuantizare ale sursei, așa că o sursă de calitate 60 la slider 80 se codifică la 48. WebP și AVIF iau 80 literal. Implicitul inteligent al AVIF este 63, iar la 63 câștigă la dimensiune: 186.9 KB față de 200.6 KB pentru WebP. Plătești în timp real. Zece fișiere AVIF într-un lot secvențial este o pauză de cafea, și nu există un fallback canvas pentru AVIF așa cum există pentru JPG, PNG și WebP, așa că o eroare a encoder-ului WASM înseamnă că acel fișier dă o eroare. Verifică suportul browser-ului pentru AVIF înainte de a angaja un întreg lot pentru el, și citește de ce potrivirea dimensiunilor de ieșire bate potrivirea numerelor slider înainte de a decide formatul deloc.

Când este un instrument desktop răspunsul corect?

Odată ce sarcina este mai mare de zece fișiere, sau odată ce ai nevoie de ceva ce aceste motoare nu fac. ImageMagick's mogrify parcurge un arbore de foldere imbricate, saturează fiecare nucleu pe care îl ai și scrie rezultatele pe loc, ceea ce o filă cu un singur fir nu poate aborda. MozJPEG este același encoder pe care îl compilăm în WASM, și rulează mult mai repede ca un binar nativ. Instrumentele desktop îmbină de asemenea multe imagini într-un singur PDF multipagina, păstrează EXIF și ICC pe parcursul întregului proces, monitorizează un folder pentru sosiri noi și îți permit să introduci dimensiuni exacte în pixeli. cropper de la noi are opt presetări de aspect și un câmp de raport personalizat, fără nicio intrare pentru lățimea și înălțimea pixelilor, și re-codifică formatele cu pierderi la o calitate hardcoded 92.

Instrumentele cu fișier unic rămân fișier unic din motive care nu se vor schimba curând. upscaler rulează Real-ESRGAN și acceptă 32 de megapixeli de intrare cu WebGPU, aproximativ 1.1 MP fără acesta. background remover descarcă un model IS-Net la prima rulare și procesează cele zece fișiere strict unul după altul. icon generator ia o imagine și scrie șapte fișiere din ea, inclusiv un favicon.ico care conține versiuni de 16, 32 și 48 de pixeli.

Deci, pentru ce este bun un lot în browser?

Zece fotografii de produs înainte de o listare. Un folder de capturi de ecran pentru o pagină de document. Orice imagine pe care nu o poți înmâna serverului unui străin: pașapoarte, scanări medicale, contracte semnate, lucrări pentru clienți sub NDA. Această ultimă grupă este motivul pentru care l-am construit în acest fel, iar pagina de confidențialitate spune asta în cuvinte mai puține. Când un lot se termină, Download all construiește un ZIP în filă și ți-l oferă, fără niciun drum de întoarcere implicat.

Testează forma acestuia înainte de a-ți planifica un flux de lucru în jurul său. Deschide /convert, pune zece JPG-uri, apasă WebP și urmărește cum cardurile pe fișier se umplu unul câte unul. Dacă asta se termină suficient de repede pentru tine, limita de 10 fișiere este academică. Dacă convertești scanări în PDF, citește ce devine de fapt un JPG în interiorul unui PDF mai întâi, deoarece fiecare pagină iese la o DPI nominală de 54.