Obecnie mam do czynienia z problemem jakości obrazu mojego tła witryny.
Mam duży zamazany obraz tła, którego chciałbym użyć, ale chciałbym, aby był tak mały, jak to możliwe, dla strony internetowej.
Aby mieć go w najwyższej jakości (png), ma około 200 KB.
Mogę sprowadzić go do około 100 KB jako JPG, ale jakość jest obniżona, co jest spodziewane, ale wokół linii są okropnie wyglądające linie, które sprawiają, że wygląda okropnie.
Czy istnieje sposób na specjalny sposób konwersji tego pliku png na plik jpg, ale nie pozwala obrazowi mieć tych wad?
Oto zdjęcia:
PNG:
Jakość JPG (100%):
.SVG
? jak są małeOdpowiedzi:
JPEG nie jest kompresją bezstratną
Kompresja JPEG jest uważana za kompresję stratną, nawet jeśli jest ustawiona na 100% jakości , traci się na jakości. Dlatego w przypadku prostych grafik, takich jak interfejsy i tła interfejsu użytkownika, ogólnie lepiej jest używać formatu bezstratnego, takiego jak PNG.
200kb nie jest aż tak duże w 2014/2015
Wprawdzie warto byłoby maksymalnie zmniejszyć rozmiar tła, ale należy pamiętać, że 200 kb nie jest aż tak duże dla większości połączeń szerokopasmowych. Możesz podać inną wersję dla telefonów komórkowych i tabletów, używając zapytań o media css .
Czynienie pliku png jeszcze mniejszym
Photoshop i inne pakiety farb korzystają ze standardowej kompresji PNG, prawdopodobnie możesz zmniejszyć to 200 KB do jeszcze mniejszych za pomocą PngOptimizer lub usługi online Yahoo Smush It . Zmniejszenie rozmiaru pliku jeszcze niżej nie obniży jakości, ponieważ jest to format bezstratny ... po prostu optymalizuje kod, zmniejszając go dalej, porównując go do pliku ZIP lub RAR, te pliki kompresują, ale nie obniżają jakości treści.
Rozważenie zastosowania gradientu paskowego
Innym możliwym rozwiązaniem może być użycie cienkiego gradientu PNG o wielkości 1 piksela, a następnie wysokości strony, a następnie zduplikowanie go za pomocą
background-repeat
, możesz nawet rozważyć użycie CSS do wygenerowania gradientu dla Ciebie, ale oczywiście jesteś ograniczony możliwość korzystania z cieni i innych poprawek.źródło
pngcrush
i podobne programy z pewnością mogą zmniejszyć plik.To prawdopodobnie nie odpowiada na twoje pytanie. Niektóre możliwe alternatywy ...
Czy zamiast tego rozważałeś CSS:
A może możesz użyć techniki SVG base64 ( tutaj narzędzie generatora ):
Czy próbowałeś użyć jeszcze mniejszego PNG i pozwolić na powiększenie go przez natywny algorytm skalowania przeglądarki? Może to zmniejszyć rozmiar pliku, a także wyeliminować artefakty JPG.
źródło
Sugeruję sprawdzenie Kraken.io , mają one optymalizator obrazu. Obrazy w twoim temacie zmniejszają się o 45%, bez widoczności dla oka!
Możesz także użyć css, colorzilla ma ładne narzędzie do tworzenia odpowiedniego css dla wszystkich przeglądarek.
Jeśli czujesz się komfortowo z obrazem gradientowym, upuść kolor, ustaw go jako czarno-biały, a następnie nadaj elementowi div / body / element tło w następujący sposób:
źródło
Niektóre edytory obrazów, takie jak GIMP, umożliwiają stosowanie wygładzania, a także kontrolę kompresji podczas zapisywania JPEG.
http://en.wikibooks.org/wiki/GIMP/Saving_as_JPEG
Możesz także być w stanie zmniejszyć artefakty, kontrolując podpróbkowanie
http://www.ampsoft.net/webdesign-l/jpeg-compression.html
źródło
Spróbuj dodać szum, aby zminimalizować pasy:
Photoshop:
Image > Fill... >
i użyj tych wartości:Filter > Noise > Add Noise... >
. Te wartości działały dla mnie dobrze:Więc nie ma nieprzyjemnych pasków, mniejszy rozmiar, ale kosztem hałasu. Pliki są znacznie cięższe w porównaniu z wersją bez hałasu (około 100 kb), ale stanowią połowę oryginalnego PNG. Właściwie jestem trochę zaskoczony, że twój PNG był tak duży.
Jeszcze jedna sugestia:
Jeśli nie chcesz dodawać szumu, upewnij się, że pracujesz wszędzie w przestrzeni kolorów sRGB, która zapewnia najbogatszą gamę ekranów monitorów (mniej pasm).
źródło