Jak zmniejszyć rozmiar pliku PNG dla Internetu?

16

Mam plik PNG-24 z przezroczystym tłem, a jego aktualny rozmiar to 1,5 MB. Jak zmniejszyć rozmiar lub użyć formatu pliku PNG-8 i zachować tę samą jakość?

wprowadź opis zdjęcia tutaj

Plik PNG stąd: http://www19.zippyshare.com/v/69590430/file.html

Przykład Przesłane zdjęcie Próbowałem wszystkich sugestii, ale brak dobrych wyników, proszę o poradę

dzięki

Dobrze, jestem
źródło
Czy używasz Zapisz dla Internetu ...? Powinien dać ci możliwość zmniejszenia rozmiaru, w tym głębi kolorów.
James P
Twój przykładowy obraz to plik JPEG. Jeśli chcesz, aby ludzie wypróbowali na nim różne narzędzia / metody, powinieneś zamiast tego podać jeden z was plik PNG ...!
Laurent Parenteau,
program do przesyłania stron przekonwertował go do formatu jpg. tutaj jest plik png s8.postimage.org/z4apal6z9/cw_Copy.png ..... Proszę używać Dont Posteryzuj jak przyzwyczajenie pracować z innymi plikami mam ..... dzięki
Welliam
1
Ten link jest także plikiem JPEG.
Dan D.
Tym razem jestem pewien, że jest png www19.zippyshare.com/v/69590430/file.html.......thanks za pomoc
Welliam

Odpowiedzi:

6

PNG jest bezstratnym formatem kompresji - bez zmiany materiału źródłowego w pliku jest bardzo mało sposobu na zwiększenie kompresji poza domyślną kompresję najwyższego poziomu. Jedynym prawdziwym sposobem na zmniejszenie rozmiaru będzie zmiana obrazu poprzez zmniejszenie rozdzielczości lub głębi kolorów, aby kompresja PNG miała mniej złożoną pracę.

Jeśli chcesz uzyskać wysoki poziom kompresji obrazu i nie martwisz się o bezstratne przechowywanie danych, użyj JPEG.

mikebabcock
źródło
4
Nie powiedziałbym niewiele. Program Save For Web programu Photoshop jest tak słaby, że PNGOUT często może bezstratnie zmniejszyć pliki o 20–40%. Program Photoshop nie obsługuje formatu PNG8 + alfa, który może być o 70% mniejszy w przypadku niektórych obrazów.
Kornel
Najlepsze liczby, jakie kiedykolwiek udowodniłem, to około 8-15%, ale możesz połączyć mnie z lepszymi danymi.
mikebabcock
1
Musiałem zoptymalizować pojedynczy plik png i użyłem do tego tinypng.com. Zaoszczędziło mi to ponad 50% miejsca.
9

RIOT może to zrobić i wiele więcej.

Narzędzie Radical Image Optimization Tool (w skrócie RIOT) to darmowy optymalizator obrazu, który umożliwia wizualne dostosowanie parametrów kompresji przy zachowaniu minimalnego rozmiaru pliku.

Korzysta z interfejsu obok siebie (podwójny widok) lub interfejsu pojedynczego widoku, aby porównać oryginał ze zoptymalizowanym obrazem w czasie rzeczywistym i natychmiast zobaczyć wynikowy rozmiar pliku.

Optymalizator obrazu jest lekki, szybki i prosty w użyciu, a jednocześnie wydajny dla zaawansowanych użytkowników. Będziesz mógł kontrolować kompresję, liczbę kolorów, ustawienia metadanych i wiele więcej, a także wybrać format obrazu (JPEG, GIF lub PNG) dla pliku wyjściowego.

Inną możliwością jest użycie kombinacji pngquant, pngout i pngcrush, jak opisano tutaj , ale jest to z wiersza poleceń.

Oto instrukcje, jak przekonwertować obrazy png24 na png8 dla dobra ie6, za pośrednictwem wiersza poleceń za pomocą narzędzi open source (myślę) pngquant + pngout + pngcrush.

1- kwantyzuj obraz do 256 (więc w zasadzie png8 wygląda badziewie z dużymi duszkami lub duszkami o dużej gamie kolorów).

pngquant 256 some_24_bit.png

2- konwersja obrazu z png24 do png8

pngout -c3 -d8 -y -force some_24_bit.png some_8_bit.png

3 - kompresuj obraz

pngcrush some_8_bit.png -bit_depth 8 -brute -rem alla -reduce some_8_bit_small.png

Laurent Parenteau
źródło
6

Wypróbuj TinyPNG

Z ich strony internetowej:

Jak to działa?

Podczas przesyłania pliku PNG (Portable Network Graphics) podobne kolory na obrazie są łączone. Ta technika nazywa się „kwantyzacją”. Ponieważ liczba kolorów jest zmniejszona, 24-bitowe pliki PNG można konwertować na znacznie mniejsze 8-bitowe indeksowane obrazy kolorowe. Wszystkie niepotrzebne metadane również są usuwane. Wynik: małe pliki PNG ze 100% obsługą przezroczystości.

Mają dwie opcje:

  • Przeciągnij i upuść obrazy na ich stronę internetową, a zostanie ono automatycznie przetworzone. Darmowa usługa. (Do 20 zdjęć. Maksymalnie 5 MB każdy)
  • Wtyczka Photoshop. To kosztuje $.

Nie próbowałem wtyczki PS, więc nie mogę wypowiedzieć się na temat jej działania.

Wyczerpanie
źródło
To była naprawdę dobra wskazówka, TinyPNG zmniejszył mój 24-bitowy plik PNG z Photoshopa, z 200k do 50k, i zachował mieszaną przezroczystość! Dzięki za odpowiedź. UWAGA, była prawie nie do odróżnienia w jakości obrazu.
TripleAntigen
To naprawdę działa! Mój obraz 1 MB PNG stał się 253 KB bez utraty jakości!
BrunoSerrano
5

Jeśli nie przeszkadza ci wiersz poleceń, spójrz na OptiPNG , może to być to, czego szukasz.

OptiPNG to optymalizator PNG, który kompresuje pliki obrazów do mniejszego rozmiaru, bez utraty jakichkolwiek informacji. Ten program konwertuje również zewnętrzne formaty (BMP, GIF, PNM i TIFF) na zoptymalizowane PNG oraz wykonuje kontrole integralności i korekty PNG.

Renan
źródło
Dzięki, ale nie udało się wiele optymalizacji !! Przesłałem obraz
Welliam
3

Użyj kombinacji pngoutideflopt . pngoutautomatycznie określi, czy twoje kolory PNG pasują do PNG-8 i wykorzystają je. defloptwyciszy dodatkowe bajty z już zoptymalizowanego obrazu - użyteczna jest praca z dowolnymi deflowanymi danymi, a PNG jest jednym z nich.

Oleg V. Volkov
źródło
dzięki, ale nie powiodło się pngout, zredukowano tylko kilka KB
Welliam
1
Czy spodziewałeś się magii? Twój obraz ma wyraźnie ponad 256 kolorów. Posteryzuj go, aby najpierw zmniejszyć ilość kolorów.
Oleg V. Volkov
Gdy rozmiar zmniejszy się z 970 do 945, nie jest to dobry wynik, a posterize nie działa z innymi PNG, które mam.
Welliam
3

Dobrym pomysłem na obsługę PNG z kanałem alfa w kontekście tworzenia stron internetowych byłoby pozwolenie serwerowi zrobić to za Ciebie: dynamicznie oddzielić dane obrazu od kanału alfa na serwerze, zoptymalizować oba z nich osobno i ponownie połączyć je za pomocą element canvas i trochę JavaScript w przeglądarce. Ta-Da! Działa ze wszystkimi nowoczesnymi przeglądarkami.

Oto wyjaśnienie, jak to się robi:

http://headers-already-sent.com/artikel/shrinkimage-1/

Znajdziesz również pełny pakiet ZIP ze skryptem PHP i wtyczką jQuery. Poinformuj nas, co o tym myślisz.

Andreas Ollmann
źródło
1

Jeśli naprawdę musisz zmniejszyć obraz, a wszystkie proste sugestie nie działają, ostateczną odpowiedzią jest rozbicie obrazu na części ściśliwe i ponowne połączenie ich na kliencie za pomocą skryptów.

Obraz z pytania wygląda jak gradient koloru z pionowymi liniami i pewnymi plamami / szumem. Podziel to na następujące warstwy:

  1. Gradient kolorów bez linii i szumów. Spowoduje to dobrą kompresję w formacie PNG i bardzo dobrze w formacie JPEG. Co więcej, użyj JavaScript, aby wygenerować gradient kolorów na kliencie. Prawdopodobnie możesz to zrobić w mniej niż 200 bajtach JS.
  2. Pionowe linie bez kolorów i szumów. Możesz to skompresować do pojedynczego 4-bitowego kanału (alfa lub szary). Potrzebujesz tylko obrazu o wysokości 1 piksela, który możesz rozciągnąć. To bardzo dobrze kompresuje się w PNG.
  3. Hałas. Ponownie wszystko czego potrzebujesz to pojedynczy 4-bitowy kanał (alfa lub szary). Bez kolorów i linii powinno to bardzo dobrze kompresować w formacie PNG lub JPEG.

Połącz warstwy w jeden obraz z JavaScriptem, a cały „obraz” może mieć 15 KB lub mniej.

Ten rodzaj pracy był standardem w grach przez dziesięciolecia i nadal nim jest. Świetną rzeczą jest to, że Photoshop ma już te wszystkie oddzielne warstwy, jeśli stworzyłeś swój obraz jak profesjonalista.

Sophit
źródło
1

Standardowe pliki PNG są już najbardziej skompresowanym formatem obrazu, jakiego możesz użyć, dlatego pliki PNG są tak często używane w przypadku obrazów na stronach internetowych, szczególnie do celów projektowych.

Ale nadal istnieje sposób na jeszcze lepszą kompresję plików PNG; zmniejszając liczbę kolorów używanych na obrazie. Może to często zmniejszyć rozmiar pliku do 70% lub nawet więcej.

Najlepszym zautomatyzowanym darmowym oprogramowaniem z najwyższym całkowitym procentem kompresji, jaki znalazłem w tym przypadku, jest FileOptimizer, który wykorzystuje wiele silników (tj. PngOptimizer, PNGOUT, pngwolf itp.) Do kompresji obrazu do najmniejszego możliwego rozmiaru.

Innym narzędziem online, które znalazłem z dobrymi wynikami, jest: http://www.giftofspeed.com/png-compressor/

William Dresker
źródło
1

Pozwól mi przedstawić FileOptimizer . Łączy różne metody optymalizacji obrazu (w tym usuwanie EXIF ​​w celu zaoszczędzenia kilku dodatkowych bajtów - można je wyłączyć).

Wyniki testu i porównanie z innymi rozwiązaniami.

wprowadź opis zdjęcia tutaj

rluks
źródło
0

ScriptPNG http://css-ig.net/scriptpng

daje około 10 różnych opcji, w tym stratnych! Próbowałem kilka i ten plik wsadowy systemu Windows (z kilkoma .exes) jest świetny

Ja osobiście używam go do kompresji do stratności 8bit. Nie jestem pewien, jak to działa, ale moje zrzuty ekranu wyglądają tak samo. Używam go do kompresji zrzutów ekranu. Miałem około 2 GB plików PNG, teraz tylko 700 MB

Mikey
źródło