CodeGym /Kursy /Frontend SELF PL /Optymalizacja obrazów dla webu

Optymalizacja obrazów dla webu

Frontend SELF PL
Poziom 6, Lekcja 2
Dostępny

2.1 Wybór odpowiedniego formatu obrazu

Optymalizacja obrazów dla webu to kluczowy proces, który ma na celu zmniejszenie rozmiaru plików obrazów bez znacznej utraty jakości. Optymalizacja obrazów przyspiesza ładowanie stron internetowych, poprawia komfort użytkownika i zwiększa pozycję strony w wyszukiwarkach.

Ten proces jest szczególnie ważny w erze mobilnego internetu, gdzie prędkość ładowania odgrywa kluczową rolę.

Wybór odpowiedniego formatu obrazu

Wybór odpowiedniego formatu obrazu to pierwszy krok do skutecznej optymalizacji. Każdy format ma swoje zalety i obszary zastosowania:

JPEG

  • Zastosowanie: fotografie i obrazy z dużą ilością kolorów
  • Zalety: wysoki stopień kompresji z stratami, co pozwala znacznie zmniejszyć rozmiar pliku
  • Wady: utrata jakości przy ponownym zapisie

PNG

  • Zastosowanie: obrazy z przezroczystością i grafika z wyraźnymi liniami, tekstem
  • Zalety: kompresja bezstratna, zachowująca wysoką jakość obrazu
  • Wady: większy rozmiar plików w porównaniu do JPEG

GIF

  • Zastosowanie: animacje i obrazy z ograniczoną paletą kolorów (do 256 kolorów)
  • Zalety: wsparcie dla animacji i przezroczystości
  • Wady: ograniczona paleta kolorów

WebP

  • Zastosowanie: nowoczesny format dla różnych typów obrazów
  • Zalety: wsparcie dla kompresji zarówno z stratami, jak i bezstratnej, animacji i przezroczystości. Wysoki stopień kompresji
  • Wady: wsparcie nie we wszystkich przeglądarkach (choć to się poprawia)

SVG

  • Zastosowanie: obrazy wektorowe, logotypy i ikony
  • Zalety: skalowalność bez utraty jakości, mały rozmiar plików
  • Wady: odpowiednie tylko dla grafiki wektorowej

2.2 Kompresja obrazów

Kompresja obrazów to ważny etap w procesie optymalizacji. Pozwala na zmniejszenie rozmiaru pliku, zachowując akceptowalną jakość obrazu.

Kompresja z stratami

Ta metoda usuwa część danych obrazu, co prowadzi do zmniejszenia rozmiaru pliku i niewielkiej utraty jakości. Używana dla JPEG i WebP.

Przykłady narzędzi:

  • TinyPNG/TinyJPG: narzędzia online do kompresji obrazów PNG i JPEG. Zmniejszają rozmiar plików, zachowując wysoką jakość
  • ImageOptim: aplikacja dla macOS, pozwalająca kompresować obrazy bez znacznej utraty jakości
  • Squoosh: narzędzie od Google, które wspiera różne formaty i metody kompresji

Kompresja bezstratna

Ta metoda zmniejsza rozmiar pliku bez usuwania danych, co zachowuje oryginalną jakość obrazu. Używana dla PNG i WebP.

Przykłady narzędzi:

  • PNGGauntlet: darmowe narzędzie dla Windows, które używa kilku metod kompresji do zmniejszenia rozmiaru obrazów PNG bez strat
  • OptiPNG: narzędzie wiersza poleceń do optymalizacji plików PNG przez usunięcie nadmiarowych danych

2.3 Zmiana rozmiarów obrazów

Zmiana rozmiarów obrazów do wymaganych przed załadowaniem na stronę internetową pomaga zmniejszyć ich rozmiar i przyspieszyć ładowanie strony. Jest to szczególnie ważne dla responsywnego web designu.

Narzędzia do zmiany rozmiarów:

  • Adobe Photoshop: zaawansowany edytor obrazów, pozwalający zmieniać rozmiary i zapisywać obraz z optymalnymi ustawieniami dla webu
  • GIMP: darmowy edytor obrazów z funkcją zmiany rozmiarów i szerokimi możliwościami edycji
  • Online Image Resizer: narzędzia online do zmiany rozmiarów obrazów bez konieczności instalacji dodatkowego oprogramowania

Użycie atrybutów szerokości i wysokości w HTML

Podanie atrybutów width i height w tagach <img> pozwala przeglądarkom zarezerwować miejsce dla obrazów przed ich załadowaniem, co zapobiega "przesunięciom" zawartości podczas ładowania strony. To poprawia wygodę użytkowania i pomaga uniknąć przesunięć układu.

Przykłady:

HTML
    
      <img src="images/photo.jpg" alt="Zdjęcie natury" width="800" height="600">
    
  

Ten kod gwarantuje, że przeglądarka przeznaczy miejsce pod obraz, co zapobiega przesunięciom zawartości.

2.4 Praktyczne zalecenia

Lazy Loading

Lazy Loading (leniwe ładowanie) pozwala na ładowanie obrazów tylko wtedy, gdy pojawiają się w widocznej części ekranu. To zmniejsza początkowy czas ładowania strony i oszczędza transfer danych.

Przykład:

HTML
    
      <img src="example.jpg" alt="Opis obrazu" loading="lazy">
    
  

Ten atrybut loading="lazy" wskazuje przeglądarce, by ładowała obraz dopiero, gdy stanie się widoczny dla użytkownika.

Keszowanie obrazów

Konfiguracja serwerowego keszowania dla obrazów pozwala ponownie używanym obrazom ładować się z keszu przeglądarki, co przyspiesza ponowne ładowanie stron.

Więcej o keszowaniu porozmawiamy w drugim module, gdy głębiej zaznajomicie się z protokołem HTTP i ustawieniami serwera webowego.

Optymalizacja obrazów dla webu to złożony proces, który obejmuje wybór odpowiedniego formatu, kompresję, zmianę rozmiarów, użycie atrybutów w HTML i wdrażanie najlepszych praktyk w celu poprawy wydajności strony internetowej. Zastosowanie tych metod przyczynia się do poprawy doświadczeń użytkowników, przyspieszenia ładowania stron i zwiększenia SEO.

1
Zadanie
Frontend SELF PL, poziom 6, lekcja 2
Niedostępne
Format obrazu
Format obrazu
1
Zadanie
Frontend SELF PL, poziom 6, lekcja 2
Niedostępne
Zmiana rozmiarów
Zmiana rozmiarów
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION