mega fotki

Kompresja zdjęć JPG/JPEG (ScriptJPG)

Zmniejszanie wagi plików JPG/JPEG odbywa się głównie poprzez modyfikację parametru jakości (kompresji) wyrażoną w skali od 0 do 100. Czym niższa wartość, tym rozmiar pliku przybiera mniejsze wartości. Tego typu metoda optymalizacji nie jest niczym nowym, każdy program do obróbki grafiki posiada opcję zapisu JPG z możliwością manipulacji parametrem jakości. Jednakże istnieją aplikacje, które potrafią zoptymalizować zdjęcie przy zachowaniu pierwotnej jakości. Jednym z takich programów jest kuzyn znanego optymalizatora ScriptPNG, mowa o narzędziu ScriptJPG. W tym artykule opiszę krok po kroku, w jaki sposób można efektywnie optymalizować pliki JPG/JPEG przy wykorzystaniu tego narzędzia.

Poniżej przedstawiam przykład optymalizacji pliku w ScriptJPG. Program, w którym dokonano zapisu zdjęcia do formatu JPG/JPEG to GIMP.

Parametry pliku:

  • Nazwa pliku: test.jpg
  • Rodzaj grafiki: standardowy zrzut ekranu
  • Format zapisu: JPG
  • Rozmiar: 792 x 579
  • Głębia: 24 bity
  • Jakość zapisu: 100%
  • Rozmiar oryginalny: 105586 bajtów (103,11 KB)

Obrazek testowy, zrzut ekranu

Mając do dyspozycji plik wynikowy test.jpg przystąpimy do jego optymalizacji. Cała procedura jest bardzo prosta. Przeciągamy i upuszczamy test.jpg na pliku ScriptJPG.cmd

Proces optymalizacji JPG

Po wykonaniu tej czynności otworzy się okno wiersza poleceń, w którym możemy wybrać formę optymalizacji.

ScriptJPG, wybór metody optymalizacji

  • Optimize JPG – optymalizacja bez kompresji. UWAGA! Zgodnie z zaawansowanymi testami obrazów przed i po optymalizacji ScriptJPG nie optymalizuje bezstratnie, dochodzi do redukcji jakości, według uzyskanych danych redukowane jest DPI z 300 do 96, czyli innymi słowy mówiąc, obraz jest optymalizowany pod wyświetlanie na ekranie monitora, w przypadku wydruku zoptymalizowanego obrazu z pewnością zauważymy różnicę w jakości.
  • JPG Quality 90%, 80%, 70% – pozostałe trzy opcje pozwalają przeprowadzić optymalizację z wykorzystaniem kompresji stratnej. Jakość określana jest w procentach, czym niższa wartość tym rozmiar pliku będzie mniejszy, jednocześnie jakość pogorszy się.

W przykładzie wybiorę pierwszą opcję – Optimize JPG (bez kompresji obrazu). Wpisuję liczbę 1 i potwierdzam wybór klawiszem enter.

Podsumowanie optymalizacji JPG

Jak możemy zaobserwować, plik zmniejszył się o blisko 2946 bajtów – bez zwiększania stopnia kompresji. Rozmiar wynikowy: 102640 bajtów (100,23 KB).

ScriptJPG jest świetnym narzędziem do optymalizacji plików JPG/JPEG, w szczególności, gdy zachodzi potrzeba zachowania jak najlepszej jakości zdjęcia. Widać również, że funkcje zapisu plików graficznych w aplikacjach typu GIMP, Photoshop, Paint.NET czy PhotoFiltre pozostawiają spore pole manewru i przy użyciu odpowiedniego oprogramowania, jesteśmy w stanie zmniejszyć rozmiar pliku, nie ingerując w jego parametr jakości.

O autorze

Mariusz Kołacz

Informatyką i nowymi technologiami zajmuje się od ponad 15 lat. Od 2008 roku moją drugą pasją jest marketing internetowy. Aktualnie prowadzę agencję reklamową, gdzie realizuję projekty z zakresu pozycjonowania i optymalizacji stron internetowych (SEO), reklamy na Facebooku i Google ADS (Google AdWords) oraz w zakresie optymalizacji konwersji w sklepach internetowych. Oprócz tego tworzę narzędzia SEO, piszę teksty, projektuję strony internetowe przyjazne SEO, w wolnych chwilach czytam literaturę z tematyki medycyny, parapsychologii.

37 komentarzy

Kliknij tutaj aby skomentować

  • Mam rozumieć, że ten programik zmniejsza rozmiar zdjęcia bez jakiejkolwiek straty jakości ? Jeśli tak, to świetna sprawa, zaraz wypróbuję.

    • Tak, ten program oferuje funkcję, która potrafi zmniejszyć rozmiar pliku nie ingerując przy tym w parametr jakości.

  • Narzędzie o którym piszesz nie jest złe ale nie dość często używane po pewnym czasie zakłopota nas „co to za program” spoglądając do folderu Program Files. Tym którzy nie potrzebują tego narzędzia od ręki, mogę polecić prostą stronkę która działa podobnie, a nie zawala nam desktopu program którego używamy raz na ruski rok. Link: http://tools.dynamicdrive.com/imageoptimizer/index.php

    • Dzięki za informacje 🙂
      Przetestowałem Online Image Optimizer i mogę powiedzieć że:
      – optymalizacja JPG i PNG gorsza niż w ScriptJPG i ScriptPNG, GIF-ów nie sprawdzałem,
      – limit pliku do 300KB,
      – brakuje zaawansowanych opcji kompresji.

      Czyli pod kątem efektywności Online Image Optimizer nie sprawdza się ;( ale do szybkiego zmniejszania rozmiaru plików może być.

  • Muszę powiedzieć, że jestem zaskoczony ponieważ nigdy nie słyszałem o tym narzędziu. Przy moich zasobach zdjęć w formacie jpg może okazać się zbawienne. Zabieram się za testowanie 🙂

    • @leet, narzędzie jest dobre, lecz czasem, przy zmianie formatu z JPG na PNG można uzyskać lepszy efekt. Tak już jest z plikami PNG, że można z nimi zrobić o wiele więcej niż z JPG.

  • Och jak dobrze trafiłeś. Dzięki za maila Mariusz, wyrażam zgodę. Jestem akurat na etapie uczenia się obróbki zdjęć i tworzenia prezentacji, więc Twój mail trafił w odpowiedni czas i miejsce dla takiego technicznego laika jak ja. Przyda mi się tyle fajnych wiadomości do nauki i podoba mi się, że jest to statyczne na stronie a nie filmik, ze spokojem można spojrzeć krok po kroku W tym wszystkim sprawdza się od razu siła przyciągania. :):) Pozdrawiam serdecznie!

    • Super że dołączasz do listy 🙂
      Miło mi również, że poradniki się podobają. Optymalizacja grafiki to poniekąd moje hobby. Na blogu zaprezentowałem kilka ciekawszych aplikacji, choć to nie wszystko, jest ich zdecydowanie więcej. Jak będziesz potrzebowała namiary na sprawdzone metody optymalizacji to śmiało pisz na e-mail. Pozdrawiam, Mariusz.

    • Avast też czasem daje ciała.
      Plik powinien być ok, mam ostatnią wersję i jest ok.
      Jak masz jakieś wątpliwości przetestuj skrypt na virustotal i jotti. Jeśli tam będą więcej niż 4 wskazania to należy bliżej zbadać sprawę.

    • W katalogu lib znajdują się narzędzia współpracujące z Scriptjpg jak jpegoptim czy jpegtran. Wygląda na to, że aplikacja nie może uzyskać dostępu do zasobów, być może ma ograniczone uprawnienia, program HIPS blokuje komunikacje lub wystąpił inny błąd. Kwestia diagnostyki.

  • Norton 360 melduje przy uruchomieniu Suspicious.MH690.A . Może w programie coś siedzi ? Wielkie dzięki za scriptpng – genialnie szybko zoptymalizowałem wszystkie png z moich stron !

    • Nie wiem skąd pobierałeś skrypt ale ja go bardzo często używam i mogę śmiało powiedzieć, że nic w nim nie siedzi. Używam pliku ScriptJPG.cmd który jest datowany na 07.05.2012.

    • Pobrałem, faktycznie w nowszej wersji w jscl avast krzyczy że coś wykrył, zerknąłem na plik CMD ale nie widzę nic podejrzanego. Virustotal i Jotti potwierdzają że może coś być na rzeczy, bo jest całkiem dużo wykryć, ale też może być to fałszywy alarm. Virustotal ma 18/45, a Jotti 8/21. Gdyby to była masówka jak mówimy, to wykryć byłoby znacznie więcej, ale też pewności nie ma że to bezpieczny plik. Jeśli masz wątpliwości możesz uruchomić skrypt w piaskownicy lub napisać do autora w celu potwierdzenia, że plik jest bezpieczny. W wolnej chwili zrobię analizę co ta nowa wersja zapisuje na dysku, do rejestru i czy w ogóle cokolwiek zapisuje oprócz plików graficznych. Dzięki za info i pozdrawiam!

  • a jeśli można prosić starą wersję na maila… w zamian zapraszam na kajaki ! Zanim autor odpisze o ile odpisze a mam kilka jpg do kompresji pilnie …

  • wielkie dzięki – działa bez najmniejszych problemów – zaraz zobaczę czy uda się trochę wagi z moich obrazków !pozdrawiam

  • po wybraniu metody optymalizacji i naciśnięciu enter, pojawia się komunikat błędu :” program miniperl.exe przestał działać” – ktoś kojarzy o co może chodzić ? Najlepsze jest to że po zamknięciu tego okienka, program przystępuje do kontynuacji zadania i faktycznie kompresuje zadane obrazy 😉

    • stachir, zgłoś błąd autorowi. U mnie soft działa bezbłędnie.
      Ps. Na spamerów w sam raz, musiałoby na świecie nie być spamerów by ograniczenie zostało zniesione. Pozdr.

  • Witam,
    u mnie też jest błąd ” program miniperl.exe przestał działać” – używałem zarówno wersji z gdzieś 2012 jak i nowej ostatnio zaktualizowanej do wersji z 4.11.2013 i dalej jest to samo, również posiadam Windows 7 x64

    • U mnie wszystko działa poprawnie, ScriptJPG z 03.09.2012.
      Brak błędów miniperl.
      Problem proszę zgłosić autorowi skryptu podając jak najwięcej informacji, w tym konfigurację sprzętową i o ile zajdzie potrzeba przefiltrowane błędy z dzienników zdarzeń (Start => uruchom => eventvwr.msc)
      Pozdrawiam!

  • chciałem bezstratnie zmniejszyć rozmiar zdjęcia a program zmienił mi dpi z 300 na 92 czyli jednak jest strata i to nie mała a rozmiar pliku zmniejszył się o niecałe 10% nie polecam

    • @boguslaw k, chyba w ogóle nie wiesz na czym polega optymalizacja poprzez ScriptJPG, ten skrypt w ogóle nie rusza DPI i wystarczy zerknąć na narzędzia jakie używa do procesu optymlizacji grafiki JPG, ani jeden nie ingeruje w rozdzielczość. Druga rzecz, w przypadku JPG optymalizacja ogranicza się głównie do wycięcia EXIF i palet.

  • Niestety, mnie również scriptjpg zmienił DPI z 300 na 96. W wielu plikach, na kilku ustawieniach jakości.
    Sprawdzane przed kompresją i po.

    • Sprawdzę na tej wersji, być może autor wprowadzić jakieś modyfikacje i faktycznie obcina DPI.
      Trzeba będzie reklamacje do autora skryptu złożyć 😛

    • Sprawdziłem w najnowszej dostępnej wersji 30.11.2014 – po optymalizacji brak odczytu wartości DPI, dochodzi do wycięcia informacji o obrazie i bazowym DPI, sprawdziłem też ręcznie testową grafikę w DiffImg i poziom błędu jest widoczny więc dochodzi do utraty jakości jednak jaki to jest stopień w przeliczeniu na DPI nie jestem w stanie ocenić. W jakim programie wskazuje, że obraz redukowany jest do 96DPI?

  • Sprawdzałem tylko we właściwościach pliku (prawoklik w Windows 8.1)
    Może sprawdzę jakąś starszą wersję? Masz link?

    • Na stronie autora nie widzę linków do starych wersji.
      Odkopałem jeszcze starszą wersję (z dysku CD) i faktycznie jest strata ale nie pisze konkretnie do jakiego stopnia zostało zredukowane, ta informacja jest zwyczajnie wycięta z obrazu, redukcję jednak widać w zaawansowanej analizie obrazów, także zwracam honor, mieliście rację.
      Zmodyfikowałem poradnik, aby odzwierciedlał stan aktualny ScriptJPG.