JFIF to JPEG: co zmienia rozszerzenie .jfif
Niezręczne rozszerzenie to jedyna niezręczna rzecz tutaj. Plik .jfif zawiera zwykły JPEG, a każdy program czytający JPEG go odczyta — konwersja na PNG nie wyostrzy obrazu, bo nie ma już czego wyostrzać.
JFIF to skrót od JPEG File Interchange Format — specyfikacja z początku lat 90., która opisuje, jak opakować strumień danych JPEG, żeby różne programy zgadzały się co do znaczenia pikseli. Otoczka to mały blok znacznika — znacznik APP0 — na początku pliku, zapisujący proporcje pikseli, a czasem miniaturę. Wszystko po nim to zwykły JPEG.
Skąd bierze się rozszerzenie
Rozszerzenie .jfif to nawyk z czasów Windows. Niektóre aparaty, telefony i programy Windows zapisują tak JPEG-i, a część z nich nie pokaże miniatury tego samego pliku, jeśli zmienisz jego nazwę na .jpg. Bajty się nie zmieniają; zmienia się tylko nazwa. Dlatego przeglądarka otwiera plik .jfif bez problemu, gdy przeciągniesz go do karty, i dlatego systemy operacyjne, które polegają na rozszerzeniu, się gubią.
Co faktycznie niesie blok znacznika
| Znacznik | Co zawiera |
|---|---|
APP0 (JFIF) | Wersję, jednostkę gęstości (dpi lub punkty na cm) i proporcje pikseli. |
| APP0 (inny) | Blok specyficzny dla producenta — niektóre aparaty zapisują tu własny. |
APP1 (Exif) | Metadane aparatu: ekspozycję, datę, orientację, czasem GPS. |
| Wszystko po nim | Strumień danych JPEG: tabele kwantyzacji, tabele Huffmana i skompresowany obraz. |
To narzędzie nie musi czytać tego bloku, żeby przekonwertować plik. .jfif znajduje się na tej samej liście akceptowanych co .jpg i .jpeg, więc konwerter traktuje wszystkie cztery rozszerzenia jako jeden format. Jedyne miejsce, w którym znacznik jest badany, to przeglądarka metadanych, która go odczytuje i podaje coś w rodzaju JFIF 1.02, 72 dpi — i która zachowuje znacznik, gdy usuwa inne metadane, bo blok JFIF opisuje, jak interpretować piksele.
Co konwersja na PNG może, a czego nie może
JPEG jest stratny: część szczegółów została wyrzucona przy zapisie i nie jest przechowywana nigdzie indziej. Dekodowanie pliku zwraca dokładnie te piksele, które przetrwały. Zapisanie ich w PNG przechowuje je bez dalszej straty — więc PNG wygląda tak samo jak JPEG, a często jest kilkukrotnie większy, bo PNG nie chce tępić niczego dla oszczędności rozmiaru.
- Konwersja nie wyostrza obrazu ani nie przywraca szczegółów.
- Nie usuwa artefaktów kompresji; zachowuje je dokładnie.
- Usuwa natomiast blok Exif, bo PNG go nie niesie i nic nie jest kopiowane do nowego pliku.
- Zatrzymuje dalszy rozkład: każde ponowne zapisanie jako JPEG straciłoby trochę więcej, a PNG nie.
Ten ostatni punkt to prawdziwy powód konwersji. Jeśli zamierzasz edytować JPEG, pracuj na PNG; jeśli tylko chcesz go przechować, JPEG jest już mniejszy.
Ograniczenia
- 64 MB na plik — powyżej tego narzędzie odmawia, zanim cokolwiek zdekoduje.
- Żaden bok wyniku nie może przekroczyć 20 000 px.
- Konwersja odbywa się w tej karcie; plik nigdy nie jest wysyłany.
- JPEG, JPG, JFIF i JPE są wszystkie akceptowane jako dane wejściowe.
W skrócie
.jfifto JPEG z małym blokiem nagłówka z przodu.- Konwersja na PNG zachowuje każdy ocalały piksel i niczego nie dodaje.
- Obraz nie stanie się ostrzejszy, bo szczegóły zostały już wyrzucone.
- Plik nigdy nie opuszcza Twojego urządzenia.
Pytania
Czy konwersja JFIF na PNG wyostrzy obraz?
Nie. Ostrość została ustalona przy zapisie JPEG-a, a dekodowanie nie wymyśli szczegółów, które wyrzucono. PNG zapisuje zdekodowany wynik wiernie — nie odwraca pierwszej kompresji.
Czy plik .jfif to po prostu przemianowany .jpg?
Praktycznie tak. To strumień danych JPEG z blokiem nagłówka JFIF z przodu i rozszerzeniem, które preferuje część programów. Przeglądarki i edytory czytają go jako JPEG; nietypowe jest tylko rozszerzenie.
Dlaczego PNG jest znacznie większy niż JFIF?
Bo JPEG kompresuje stratnie, a PNG nie. PNG trzyma te same piksele bez dalszej kompresji, więc fotografia zapisana jako PNG jest często kilkukrotnie większa.