Jaki jest „optymalny” rozmiar pliku obrazów JPEG w stosunku do ich wymiarów?


10

Planuję napisać skrypt, który zeskanuje ponad 100 000 obrazów JPEG i ponownie skompresuje je, jeśli są „zbyt duże” pod względem rozmiaru pliku. Skrypty to łatwa część, ale nie jestem pewien, jak zaklasyfikować obraz jako „zbyt duży”.

Na przykład jest obraz o wielkości 2400 x 600 pikseli z rozmiarem pliku 1,81 MB. Polecenie „Zapisz dla” programu Photoshop dla sieci tworzy plik 540 KB o jakości 60 i tych samych wymiarach. To około 29% oryginalnego rozmiaru.

Teraz myślę o użyciu tych liczb jako wytycznych. Coś w rodzaju 540 KB / (2400 * 600/1 000 000) = 375 KB na megapiksel. Każdy obraz większy niż ten jest uważany za duży. Czy to jest właściwe podejście, czy jest lepsze?

Edycja 1: obrazy muszą być zoptymalizowane do wyświetlania na stronach internetowych.

Edycja 2: Potrafię określić pożądaną jakość wyjściową przez eksperymentowanie, muszę wiedzieć, czy obrazy są duże pod względem rozmiaru pliku wrt wymiarów i należy je zapisać w niższej jakości.



1
Pierwszy komentarz Xiota powinien być odpowiedzią! btw, jaki jest twój priorytet? jeśli z jakiegoś powodu potrzebujesz tylko małych plików, czasami jakość może się pogorszyć. łatwo jest tworzyć nieuzasadnione duże pliki JPEG bez zauważalnego wzrostu jakości. wykrywanie i ponowne kompresowanie takich obrazów to dobry pomysł, po prostu użyj ustawienia jakości JPEG, jak powiedziała Xiota.
szulat

18
„Optymalny” w jakim celu ? Nawet powiedzenie „korzystanie z Internetu” jest obecnie trochę szerokie. Czy spodziewani widzowie będą oglądać zdjęcia na kompaktowym telefonie? Większy smartfon? Pad czy tablet? Notatnik? Duży monitor komputerowy? 60-calowy telewizor 8K? Jumbotron?
Michael C


2
Jeśli skryptowanie jest łatwą częścią, oto, co wypróbuję w twojej sytuacji: ustaw limit liczbowy, do którego skompresowany obraz może różnić się od oryginału (np. Suma różnicy jasności każdego piksela). Zacznij od niższej jakości (np. 60), eksportuj, a jeśli różnica w stosunku do oryginału jest zbyt wysoka, eksportuj ponownie z wyższą jakością, dopóki warunek jakości nie zostanie spełniony (konieczne może być poprawienie obliczeń - użyj skali wykładniczej lub czegoś bardziej wymyślnego, aby uzyskać najlepszy wynik).
Pavel

Odpowiedzi:


4

Na średni , sweet spot Jpeg jest wokół jednego bitu na każdy piksel .

To oczywiście będzie się różnić w zależności od zawartości obrazu, ponieważ niektóre rodzaje grafiki (np. Płaskie obszary i gładkie gradienty) kompresują się lepiej niż inne (szumy, tekst), więc nie jest to niezawodna metoda ślepego stosowania do każdego obrazu.

Masz również problem z brakiem nieskompresowanego obrazu referencyjnego do porównania, więc tak naprawdę nie wiesz na pewno, jaka jest obecna jakość posiadanych obrazów i o ile bardziej możesz obniżyć jakość, aby być nadal akceptowalnym. Jakość można do pewnego stopnia odgadnąć na podstawie tabel kwantyzacji w plikach JPEG, ale nie jest to również niezawodna metoda (w szczególności ocena jakości ImageMagick jest bardzo nieprawidłowa w przypadku plików JPEG z niestandardowymi, zoptymalizowanymi tabelami kwantyzacji).

To powiedziawszy, istnieje rozsądne praktyczne podejście:

  1. Wybierz maksymalne ustawienie jakości JPEG, z którego jesteś zadowolony (gdzieś w zakresie od 70 do 85).
  2. Ponownie skompresuj obrazy do tego poziomu jakości.
  3. Jeśli ponownie skompresowany obraz jest mniejszy o więcej niż ~ 10% , zachowaj ponownie skompresowany obraz.

Ważne jest, aby nie wybierać tylko mniejszego rozmiaru pliku i zamiast tego wymagać znacznego zmniejszenia rozmiaru pliku. Wynika to z faktu, że rekompresja JPEG zawsze powoduje nieznaczne zmniejszenie rozmiaru pliku z powodu utraty szczegółów spowodowanej stratną naturą JPEG i konwersją do 8-bitowego RGB, więc małe spadki rozmiaru pliku mogą mieć nieproporcjonalnie duży spadek jakości, który nie jest wart to.


4
To właśnie zrobiłem w końcu. Użyłem jednego bitu na piksel jako przewodnika, aby odfiltrować 30 000 zdjęć z ponad 100 000+ i ponownie skompresować je za pomocą imagemagick o 85% jakości. Jeśli powstały obraz był o ponad 50% mniejszy, zachowałem nowy. W moim przypadku zadziałało, ponieważ „duże obrazy” zostały utworzone przy użyciu Photoshopa przy użyciu 100% jakości. Pozostałe 70 000 zdjęć było w porządku pod względem wielkości plików, a ich ponowna kompresja nie wygenerowała wystarczających oszczędności (procentowo) lub nastąpiła zauważalna utrata jakości.
Salman A

1
Podoba mi się twój drugi akapit, ale czy masz jakieś wsparcie dla reguły kciuka jeden bit na piksel (kompresja 24 ×), którą prowadzisz?
Proszę przeczytać mój profil

30

Rozmiar plików skompresowanych za pomocą JPEG różni się w zależności od złożoności obrazu. Próba kontrolowania rozmiarów plików w sposób opisany zaowocuje bardzo zmienną postrzeganą jakością obrazu.

Zamiast tego rozważ następujące opcje:

  • Dość dobre podejście.  Użyj ustawienia jakości, które uważasz za akceptowalne, na przykład 75. Porównaj rozmiar wyniku z oryginalnym obrazem i zachowaj mniejszy plik. Zobacz Jaką jakość wybrać przy konwersji na JPG?

  • Użyj minimalizatora JPEG , takiego jak JPEGmini lub jpeg-recompressz archiwum JPEG . Są one zasadniczo zaprojektowane do robienia tego, co chcesz, ale z większą świadomością wewnętrznych algorytmów JPEG.

  • Generuj miniatury o różnych rozmiarach , jak sugeruje Nathancahill , z perspektywy programisty.


7
Lub jeśli chcesz przejść na „ekstremalny” poziom minimalizacji JPEG, guetzli . Zwróć uwagę na wymagania dotyczące pamięci i czasu.
Philip Kendall

2
Próbowałem guetzli, ale nie byłem pod wielkim wrażeniem. Jest bardzo wolny i zmniejsza tylko rozmiary o około 20-30%. Dzięki kompresji jpeg pliki można zmniejszyć o 80% za pomocą algorytmu smallfry.
xiota

18

Nie. To złe podejście.

Rozmiar pliku w pikselach, tak, ma coś wspólnego z ostateczną wagą, ale nie jest to jedyny czynnik.

Zrób test. Weź całkowicie biały plik o tym samym rozmiarze 2400 x 600 pikseli i zapisz go jako JPG.

Teraz zrób zdjęcie lasu (tego samego 2400 x 600 pikseli) z dużą ilością szczegółów i zapisz go. Ten plik będzie większy przy użyciu tych samych ustawień kompresji.

Ostateczny rozmiar zależy od tych 3 czynników:

  • Rozmiar w pikselach
  • Ustawienia kompresji
  • Treść (szczegółowość i złożoność obrazu)

Dlatego nie możesz i nie powinieneś definiować wagi w oparciu o rozmiar w pikselach.


Ale rozumiem twój problem.

Bez analizy bieżącej kompresji obrazu trudno jest określić „optymalną” wagę (która zależy od obserwatora lub użycia obrazów)

Prawdopodobnie możesz zdefiniować ustawienie kompresji i ponownie skompresować „wszystkie”. Nie wiem, czy chcesz to zrobić przed „przesłaniem”, co prawdopodobnie zaoszczędzi ci więcej czasu niż zaoszczędzone pomijanie niektórych z nich.

Istnieje kilka narzędzi, które analizują obraz i obliczają bieżący współczynnik kompresji. Ale wątpię, żeby to było tak ważne.


Rozumiem część dotyczącą obrazu białego vs. obrazu lasu. Czy zasugerowałbyś, żebym pobrał losową próbkę obrazów, ponownie zapisałem je w Photoshopie (jakość 70) i ​​jako odniesienie wykorzystałem największy stosunek pikseli do rozmiarów plików? Domyślam się, że te o niższym współczynniku byłyby mniej szczegółowe.
Salman A

Jeśli chodzi o twoje ostatnie zdanie. Stopień sprężania jest rzeczywiście mniej więcej co OP jest obliczenie ponieważ jest to jpeg size / raw sizei raw size = pixel size * number of pixel, pixel sizebędąc 3 oktety w przestrzeni barw RGB 24bit. I jak sam mówisz, ta metryka nie wystarczy, aby ustalić, czy obraz jest wystarczająco skompresowany.
zakinster

9
@SalmanA Nie, sugerowałbym całkowite odrzucenie tego podejścia. Pliki JPEG są tak duże, jak muszą być, aby zapewnić określoną jakość. Twoja propozycja, aby zobaczyć, jak duży obraz w próbce ma 70% jakości, polega na wybraniu poziomu złożoności obrazu i powiedzeniu „Wszystko bardziej skomplikowane niż to jest zbyt skomplikowane i ulegnie degradacji”. Jeśli jednak prawie wszystkie obrazy są mniejsze niż ten próg przy jakości 70%, jaki jest problem z niewielką liczbą „zbyt dużych” plików?
David Richerby,

Wydaje się to odpowiadać wnioskowi, do którego doszedłem, gdy rozważałem podejście do ustalenia, który z serii zdjęć tego samego przedmiotu, ale o różnych rozdzielczościach i jakości był „najlepszym” (np. Najbliższym oryginalnemu) obrazem.
Michael

10

Deweloper stron internetowych tutaj. Oto jak do tego podejdę:

1. Określ wyświetlane wymiary obrazu i wymagane rozdzielczości ekranu.

Twoim pierwszym zadaniem jest określenie, w jakich rozmiarach będą wyświetlane obrazy. Czy to zdjęcia produktów w sklepie internetowym? Galeria zdjęć? Zdjęcia profilowe użytkownika? Wiele różnych rozmiarów? Zrób listę potrzebnych wymiarów pikseli. Sprawdź, czy potrzebujesz obrazów @ 2x dla ekranów o wysokiej rozdzielczości, takich jak najnowsze telefony i tablety.

2. Użyj skryptu miniatur, aby utworzyć nowe pliki obrazów.

Są to tak zwane skrypty miniatur, ale można ich używać o wiele więcej niż tylko miniatur. Istnieje wiele skryptów lub możesz napisać własny. Nie zmieniając rozmiaru oryginalnych plików, możesz to zrobić, jeśli popełnisz błąd w skrypcie lub zorientujesz się, że potrzebujesz obrazu o wyższej rozdzielczości. Powszechną praktyką jest określenie sufiksu w wyjściowej nazwie pliku. Na przykład:

lena.jpg (Original, 2000x3000)
lena-thumb.jpg (100x150)
lena-thumb@2x.jpg (200x300)
lena-product.jpg (400x600)
lena-product@2x.jpg (800x1200)

3. Kompresuj.

Skrypt miniatur powinien określać kompresję jpg podczas cięcia nowych plików obrazów. Istnieją jednak inne minimalizatory, które mogą jeszcze bardziej zmniejszyć rozmiar pliku.


W ten sposób poradzimy sobie z tym w przyszłości: poproś fotografów o umieszczenie oryginałów o wysokiej rozdzielczości w katalogu, a następnie użyj skryptu do wygenerowania mniejszych rozmiarów (miniatury o różnych rozmiarach i większych na komputery i urządzenia mobilne) i umieść je pod www z adresem URL przepisanie. Ale w tej chwili nie mam dostępu do oryginałów.
Salman A

6

Podczas gdy odpowiedź @ Rafael wyjaśniła w jaki sposób kompresja JPEG jest dostępna, spróbuję odpowiedzieć na twoją stronę i załadować problematycznie.

Użycie obrazu na stronie internetowej (do projektowania lub treści) narzuca pewne imperatywy: do czego będzie używany mój obraz? Logo, zdjęcie na okładkę, miniatura, zdjęcie w poście na blogu, zdjęcie pełnoekranowe do galerii ... Ponadto, jeśli używasz go do wielu celów (np. Zdjęcie i jego miniatura galerii), chcesz odrzucić je we wszystkich wymaganych rozmiarach. Jednak, chyba że budujesz własną stronę internetową, większość obecnych serwisów internetowych będzie generować obrazy o mniejszych rozmiarach z większego obrazu w celu użycia na stronie.

Teraz, gdy znasz już swój cel związany z obrazem, witryna (lub CMS lub front-end Framework) zawsze będzie wymagała maksymalnego rozmiaru w pikselach, aby obraz był zgodny. Logo może mieć maksymalnie 600 x 600 pikseli, okładka tła może mieć maksymalnie 1280 x 720 pikseli, treść zdjęcia do wyświetlania na pełnym ekranie 1920 x 1080 lub natywna rozdzielczość aparatu w celu zachowania absolutnej szczegółowości. Sprawdź prawidłowy rozmiar w witrynie, do której chcesz przesłać. Chcesz dopasować co najmniej jeden z wymaganych maksymalnych rozmiarów pikseli, w zależności od proporcji, którą chcesz osiągnąć. Uwaga, niektóre usługi przycinają i rozciągają obraz, jeśli proporcje nie są takie same. W takim przypadku konieczne będzie ponowne przekopiowanie obrazu w celu dopasowania do wymaganego maksymalnego rozmiaru i proporcji.

Następnie strona internetowa może nałożyć limit rozmiaru pliku (lub nie, w zależności od celu obrazu). Jeśli chodzi o czas ładowania strony, im jaśniejszy, tym lepiej. W twoim przykładzie obrazu w wysokiej rozdzielczości o wymiarach 2400 x 600 pikseli, od 300 do 500 kB jest całkowicie dobrym czasem ładowania. Obrazy zawartości (takie jak zdjęcia) mogą być cięższe, jeśli wymaga tego cel zdjęcia (np. Wyświetlanie pełnoekranowe), w razie potrzeby do natywnej rozdzielczości aparatu. Jeśli nie podano żadnego wskazania, limit rozmiaru pliku może być trudny do odgadnięcia, ponieważ może zależeć od wyposażenia odbiorców (urządzenia mobilne, komputery stacjonarne ...), jakości sieci odbiorców w kraju ... Aby uzyskać maksymalną jakość i obsługę, należy traktować zdjęcia pojedynczo uzyskaj minimalny rozmiar pliku bez widocznych artefaktów. Dla wygody lub szybkości przetwarzania, zmiana rozmiaru skryptu przy użyciu ogólnie satysfakcjonującego poziomu kompresji (około 70 powinno być w porządku).Odpowiedź @ Xiota może być również potrzebnym narzędziem. Ustaw tutaj swój własny standard.

TL; DR cel obrazu na stronie internetowej jest kluczem do zmiany rozmiaru / kompresji.


3

To, co obliczasz, to średni skompresowany rozmiar piksela obrazu, jeśli podzielisz go przez rozmiar surowego piksela (zwykle 3 oktety dla 24-bitowego RGB), otrzymasz współczynnik kompresji.

Jest to dobra miara, która podaje informacje o stanie kompresji obrazu, ale nie wystarczy ocenić, czy obraz jest wystarczająco skompresowany, czy nie, ponieważ współczynnik kompresji nie zależy tylko od profilu kompresji (algorytm = JPEG, jakość = 60/100), ale także potencjał kompresji obrazu: różne obrazy o tym samym surowym rozmiarze i tym samym profilu kompresji dają różne rozmiary JPEG, ponieważ obrazy są mniej lub bardziej łatwe do skompresowania (pusty obraz jest bardzo łatwy do skompresowania, biały hałas nie jest).

Z tego powodu i ponieważ profil jakości „ostatnio używany” nie jest przechowywany na tym obrazie (ani w metadanych, ani w strukturze nagłówka jpeg), najczęściej stosowanym podejściem przy ponownej publikacji obrazów o docelowym profilu wielkości / jakości jest po prostu ponowna kompresja (i potencjalnie zmienia rozmiar) wszystkiego (automatycznie) niezależnie od początkowego stanu obrazu.

Tak, możesz ponownie skompresować, gdy nie jest to konieczne, tak, możesz nawet stracić miejsce, jeśli kompresujesz z profilem wyższej jakości, ale są to przypadki skrajne i na dużą skalę najłatwiej jest to zrobić, aby zapewnić docelowy profil jakości. Oczywiście, chcesz to zrobić tylko raz, aby stopniowo nie degradować obrazów, i prawdopodobnie powinieneś przechowywać dwie biblioteki obrazów: początkową „nietkniętą” i „do opublikowania / skompresowania”.

Istnieje wiele narzędzi do ponownej kompresji wielu plików, możesz także pisać własne skrypty i używając odpowiedniego stosu technicznego (głównie C ++ i libjpeg) może to być cholernie szybkie nawet dla plików> 100k.

Jeśli chcesz wdrożyć mądrzejszy / bardziej złożony proces, możesz spróbować eksperymentować z iteracyjną logiką ponownego kompresji / porównania wielkości w celu oszacowania oryginalnego profilu jakości (ponowne kompresowanie z tą samą jakością powinno dać w przybliżeniu ten sam rozmiar, z wysokim jakość powinna nieznacznie zwiększyć rozmiar, a przy niższej jakości powinna znacznie zmniejszyć rozmiar). Zużyłoby to oczywiście znacznie więcej mocy procesora.


Obrazy JPG zwykle podpróbkują barwy 4: 2: 2 lub 4: 2: 0 ( en.wikipedia.org/wiki/Chroma_subsampling#4:2:2 ), więc „surowe” piksele, które kompresuje JPG, mają 2x lub 4x więcej pikseli luma niż każdy kanał barwy. (O połowę w poziomie, a może także w pionie). Możesz wziąć to pod uwagę, rozważając „jak skompresowany” jest obraz. Ale tak, jak mówisz, nie jest to świetna metryka dla nieznanych treści obrazów.
Peter Cordes,

+1 za przeskalowanie. W pewnym momencie możesz uzyskać lepszą jakość obrazu, zmniejszając skalę niż jeszcze bardziej zmniejszając liczbę bitów na piksel. W przeciwieństwie do współczesnych kodeków wideo, takich jak h.264 lub h.265 (które mogą sygnalizować dekoderowi, aby wykonały bardziej wygładzanie i odblokowywanie) lub wersji obrazu nieruchomego, HEIF, która jest ramką I HEVC (h.265) , JPEG nie któregoś z nich, a po prostu zabraknie im wielu dzwoniących artefaktów, jeśli pozbędziesz się ich z kawałków. Musisz więc przeskalować w dół zamiast tylko obniżać jakość, jeśli masz obrazy wejściowe o bardzo wysokiej rozdzielczości.
Peter Cordes,

2
For example there is a 2400x600px image with a file size of 1.81MB.
Photoshop's save for web command creates a 540KB file at 60 quality and same dimensions.    
This is about 29% of original size.

Oryginalny nieskompresowany rozmiar to 2400 x 600 x 3 = 4 320 000 bajtów (4,1 MB), ponieważ 24-bitowy kolor to zawsze trzy bajty danych RGB na piksel . Nie ma możliwości obejścia tej absolutnej prawdy.

Jednak rozmiar JPG zależy również od szczegółów obrazu. Duże gładkie obszary (jak niebo lub pomalowane ściany) lepiej się kompresują, ale obszary bardziej szczegółowe (jak drzewo pełne liści) również nie kompresują się. Więc nie ma absolutnego wskaźnika liczbowego.

Ale 540 KB to 0,540 / 4,1 = 13% pierwotnego rozmiaru 4,1 MB . Może to być 29% poprzedniego rozmiaru JPG, ale jest to 13% pierwotnego rozmiaru nieskompresowanego. Jest to 1/8 oryginalnego rozmiaru nieskompresowanego, co zwykle uważa się za „przyzwoitą” jakość. Nie optymalna, nie maksymalna jakość, ale ogólnie przyzwoita, być może wystarczająco dobra do niektórych zastosowań. Mówiąc krótko, jest już mały.

Większy plik JPG oznacza lepszą jakość obrazu, a mniejszy oznacza niższą jakość obrazu. Musisz zdecydować, co jest wystarczająco dobre, ale JPG nigdy nie jest „zbyt duży”, ponieważ jakość obrazu spada wraz z kompresją JPG. Kolor 24-bitowy ma trzy bajty na piksel bez kompresji.

Więc decyzja zależy od tego, czy chcesz to małe, czy dobre.

Ale powiększanie istniejącego JPG jest jeszcze gorsze, ponieważ dodaje się więcej artefaktów JPG, a gdy są małe, dane są zmieniane i nigdy nie będzie lepiej.

Artefakty JPG zwykle pokazują dwa sposoby: widoczne bloki 8 x 8 pikseli jednego koloru w gładkich obszarach bez szczegółów lub jako widoczne szorstkie krawędzie wokół krawędzi detalu.

Podczas edycji i ponownego zapisywania pliku JPG dodawane są dodatkowe artefakty JPG. Jeśli jest to wymagane, dobrą praktyką jest zawsze ponowne zapisywanie w celu dopasowania do oryginalnego ustawienia kompresji.


Liczba 4,1 MB jest prawdziwa tylko wtedy, gdy w ogóle nie ma kompresji, jednak nawet JPEG o doskonałej jakości może mieć mniejszy rozmiar pliku z powodu kompresji bezstratnej .
Marv

Tak, dlatego nazwałem go „nieskompresowanym”, tak zaczyna się każdy obraz cyfrowy, co jest oczywiście faktycznym i oryginalnym rozmiarem danych, dlatego jest to ważne. Tak, nawet najwyższy poziom JPG 100 jest skompresowany znacznie mniej, bez strat. Bezstratny JPG to mylna nazwa. Nie mamy programów, które to oferują. Jego zastosowania nazywają to czymś innym (Wikipedia mówi DNG i niektóre Raw). Jednak JPEG2 może oferować kompresję bezstratną, ale ma inne problemy, na przykład przeglądarki internetowe nie obsługują wyświetlania JPEG2, a drukarnie fotograficzne prawdopodobnie go nie akceptują.
WayneF,

Nie ma możliwości obejścia tej absolutnej prawdy. ... z wyjątkiem podpróbkowania barwy, której używa JPEG. Kompresuje JPEG w przestrzeni kolorów YUV (jasność + dwa składniki koloru), a nie RGB. Zwykle 4: 2: 2 lub 4: 2: 0, zmniejszając liczbę pikseli w każdym z dwóch kanałów barwy o 2x lub 4x. en.wikipedia.org/wiki/Chroma_subsampling#4:2:2 . Po przekształceniu z RGB na YUV i podpróbkowaniu, ta informacja o rozdzielczości kolorów całkowicie zniknęła i nie jest częścią tego, co JPEG wydaje na kodowanie. Jeśli chcesz spojrzeć na bity / piksel, powinien on być w formacie koloru, który rozważasz.
Peter Cordes,

2
Chodź, przeczytaj tekst. Druga absolutna prawda jest taka, że ​​konkretnie mówi i odnosi się do „nieskompresowanego” i mówi, że 24-bitowy kolor to zawsze trzy bajty na piksel. :)
WayneF,

0

„Zapisz dla Internetu” w Photoshopie jest naprawdę dobrym kompromisem między rozmiarem pliku a jakością, więc jeśli nie masz bardziej szczegółowych wymagań, powinieneś to zrobić. Typowy porady dla twórców stron jest, aby trzymać się 50-70% zakresu jakości. Oczywiście są wyjątki: będziesz chciał 90-95% jakości na logo firmy, które musi zawsze wyglądać świetnie (lub nawet przekonwertować je na format bezstratny), a nawet 30% na dużym, ale ledwo widoczne tło strony.

Nie zapomnij też przeskalować zdjęć. Obraz 2400 x 600 będzie wyglądał świetnie na ekranie 4K, ale zostanie przeskalowany na mniejszych ekranach, marnując przepustowość danych bez poprawy wizualnej dla użytkownika. Sprawdź szablon strony internetowej, którego będziesz używać, aby znaleźć optymalną szerokość zdjęć. Zazwyczaj w momencie pisania będzie to około 1200-1300 pikseli (zobacz najpopularniejszą rozdzielczość tutaj ).

Pamiętaj, aby zachować oryginalne obrazy przekonwertowane na jakość internetową. Jeśli kiedykolwiek będziesz musiał przerobić lub wydrukować ten materiał, będziesz żałować, że masz go tylko w 60% jakości i rozdzielczości 1 Mpix.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.