Która z operacji nie wpłynie na rozmiar / wielkość zajmowanej pamięci pliku graficznego?
A. Interpolacja.
B. Zmiana rozdzielczości obrazu.
C. Skalowanie obrazu za pomocą atrybutów HTML.
D. Kompresja.
Pytanie z egzaminu CKE, czerwiec 2019 (arkusz E.14-X-19.06).
Skalowanie obrazu za pomocą atrybutów HTML, na przykład width i height w znaczniku img, zmienia tylko sposób wyświetlenia grafiki w przeglądarce, a nie sam plik graficzny. Innymi słowy: jeśli na serwerze leży zdjęcie 4000 × 3000 px ważące 5 MB, a w HTML ustawisz je jako 400 × 300 px, to użytkownik nadal pobierze ten sam plik 5 MB. Przeglądarka po prostu narysuje go mniejszy na stronie. To jest bardzo ważne w praktyce, bo takie „zmniejszanie” nie jest optymalizacją wydajności. Moim zdaniem to jeden z częstszych błędów przy robieniu stron: obraz wygląda mały, więc ktoś zakłada, że jest lekki. A nie jest. Dobra praktyka webowa mówi, żeby przygotować grafikę w odpowiednich wymiarach i formacie jeszcze przed publikacją, ewentualnie użyć responsywnych obrazów, np. srcset i sizes, żeby przeglądarka mogła pobrać właściwy wariant. Na rozmiar pliku wpływa realna zmiana liczby pikseli, format zapisu, poziom kompresji, głębia kolorów czy metadane, ale nie samo ustawienie wielkości wyświetlania w HTML.
W tym pytaniu kluczowe jest rozróżnienie między rozmiarem wyświetlania obrazu na stronie a rzeczywistym rozmiarem pliku zapisanego na dysku lub pobieranego z serwera. Interpolacja jest operacją związaną z przeliczaniem pikseli podczas zmiany wielkości bitmapy. Gdy program graficzny powiększa albo zmniejsza obraz, musi wyliczyć nowe wartości pikseli na podstawie istniejących, np. metodą najbliższego sąsiada, dwuliniową albo dwusześcienną. Taka operacja zwykle prowadzi do zapisania nowej wersji pliku, więc może zmienić jego wagę, czasem mocno. Zmiana rozdzielczości obrazu, rozumiana jako zmiana liczby pikseli, także wpływa na ilość danych. Obraz 3000 × 2000 px zawiera dużo więcej informacji niż 600 × 400 px, nawet jeśli format i kompresja są podobne. Pewna pułapka jest przy DPI/PPI: sama zmiana metadanych drukarskich może prawie nie ruszyć wagi pliku, ale w kontekście grafiki komputerowej w testach najczęściej chodzi o rozdzielczość pikselową. Kompresja natomiast wręcz służy do zmniejszania objętości danych, np. JPEG usuwa część informacji stratnie, a PNG pakuje dane bezstratnie. Typowy błąd myślowy polega na tym, że skoro obraz na stronie wygląda mniejszy, to wydaje się, że jest też mniejszy jako plik. Skalowanie przez HTML lub CSS działa tylko po stronie prezentacji. Plik źródłowy zostaje taki sam i taki sam najczęściej jest pobierany przez przeglądarkę.