Mă joc de ceva timp cu Debian-ul, nu cu interfața grafica, ci cu serverul pe care este hostat blogul. VPS-ul, dacă vreți. Ieri m-am jucat cu swap-ul, am învățat sa-l creez, sa-l redimensionez, etc.
Astazi ma gandeam sa trec la pasul urmator, sa redimensionez pozele si apoi sa le optimizez.
Nu doar Google o sa-mi mulțumească pentru asta, dar si utilizatorii de pe blog, mai ales cei cu trafic mobil care vor descărca cu ceva KB mai putina informație.
Pentru Windows eu folosesc PunnyPNG, dar pentru linux?
Care ar fi cea mai buna solutie pentru redimensionarea/ optimizarea pozelor?
Nu stiu daca este cea mai buna varianta, insa am butonat pe internet si am găsit o soluție care sa mă ajute. Pe langa optimizare m-a interesat si sa redimensionez pozele foarte mari. In trecut eram foarte „deștept” si puneam poze mari, chiar si câteva pe care le-am scos direct din aparat de 6000×4000 pixeli. Asa ca toate pozele le-am redimensionat la maxim 800×800 pixeli, apoi le-am optimizat.
Pentru JPEG am folosit ImageMagick, iar apoi am optimizat cu jpegoptim, sa fiu sigur ca nu scapa niciun kb.
Prin comanda:
find . -iname '*.jpg' -exec convert {} -resize 800x800 {} \;
redimensionam pozele la 800×800, iar prin comanda de mai jos:
find . -iname '*.jpg' -exec convert {} -resize 800x800 {}.png \;
le redimensionam, dar si le transformam in PNG, iar prin comanda:
find . -type f -name "*.jpg" -exec jpegoptim {} \;
le optimizam folosind jpegoptim.
Apoi am folosit comanda de mai jos ca sa sterg pozele redimensionate, de care v-am spus aici:
find . -type f -name "*nume_poza*" -exec rm -f {} \;
unde nume_poza este numele introdus pentru denumirea pozei/fișierului pe care vrem sa o ștergem l-am înlocuit cu 200, respectiv 300, exact cum salvează Worpdress.
Mai este o variantă mai prietenoasă pentru Linux și anume IMG-Optimize, dar trebuie acces la un VPS.
Cojo a zis
Pe windows am folosit tinypng.com dar merge doar pentru PNG-uri. Au şi un mic API bunicel. Dar tu vrei să le faci toate mai mici … sau să fie afişate la dimensiuni mai mici atunci când solicitate de server pentru afişare?
Marius Cucu a zis
Vreau sa fie toate mai mici, cineva mi-a recomandat optipng, dar poate gasesc ceva mai bun 🙂
Şerban Stănescu a zis
Salut!
Fără să fiu vreun expert, mă gândesc aici la faptul că o redimensionare a tuturor imaginilor, e o soluţie temporară şi oricum, iese din titlul articolului. E ca şi cum ai limita uploadul la nişte poze de o dimensiune fixă, care oricum sunt mici. Şi spun asta, pentru că vorbim despre un server.
Titlul articolului, înseamnă cu totul altceva decât soluţia propusă. „Compresie”, înseamnă algoritm mai bun de eliminare a redundanţelor din codul fişierului şi aici, JPEG şi PNG, au făcut cam tot ce e posibil.
Ceea ce ai descris în articol, e cu totul altceva decât „compresie”. Reducerea dimensiunii imaginii, e altceva decât compresie, e eliminarea fizică irecuperabilă a unui număr de bytes din imaginea iniţială, ştiut fiind faptul că redimensionarea, înseamnă de fapt eliminarea unui procentaj din rezoluţia iniţială.
Dacă e să păstrăm însă dimensiunea iniţială a imaginii, e o soluţie mai bună reducerea rezoluţiei la nivel de LPI şi asta se poate face destul de mult. Eu am făcut şi fac de multe ori asta cu GIMP şi uneori, rezoluţia merge redusă cu circa 65%, ceea ce înseamnă de exemplu, de la 2 MB la 25 -50 KB. Cum mecanismul este cam acelaşi, asta se poate face şi cu kitul ImageMagick.
Ceea ce trebuie înţeles de către useri mai ales, este faptul că, rezoluţia actuală a aparatelor (>> 14 MPx) e lipsită de semnificaţie pentru ochi. Rezoluţie digitală înseamnă ceva şi rezoluţie FIZIOLOGICĂ, altceva. Ori pe web, ne adresăm în special ochiului (rezoluţie FIZIOLOGICĂ!) şi o rezoluţie mai scăzută, e imperceptibilă fiziologic. Algoritmii de interpolare au ajuns să fie atât de sofisticaţi astăzi, încât o imagine cu 256 de culori (GIF), PARE a avea 65000. Cât priveşte adâncimea de culoare, aparatele noi, lucrează pe 32 biţi. Ochiul, abia dacă distinge câteva sute de culori cu totul, ce să mai vorbim de miliarde de nuanţe, cât înseamnă adâncime de culoare 32 biţi …
totul în final, e un compromis întrte teoria percepţiei fiziologice şi nevoile tehnologice, care sunt dictate de scopul pentru care a fost realizată imaginea. Rezoluţiile actuale, au avut şi au în vedere aplicaţii militare de fotografiere din satelit sau microscopie electronică, unde rezoluţia digitală, cu cât e mai mare, cu atât e mai bine, deoarece scopul final, e izolarea unor detalii din imagine (mărire foarte mare a unui detaliu). Pe web şi în viaţa curentă, aşa ceva e cu totul inutil cu foarte rare excepţii: fotografierea de la distanţe mari a unui subiect (un vultur în zbor, de pildă), cu teleobiective („tunuri”) cu focală peste 200 mm.
Cu excepţia lucrărilor ştiinţifice, care pot justifica o rezoluţie mare a imaginii iniţiale, avem nevoie doar de „imagini domestice”, undeva la 1024×768.