Atualmente, estou lidando com um problema de qualidade de imagem na imagem de plano de fundo do meu site.
Tenho uma grande imagem de fundo desfocada que gostaria de usar, mas gostaria que fosse o menor tamanho possível para o site.
Para obtê-lo com a mais alta qualidade (png), são cerca de 200kb.
Posso reduzi-lo para cerca de 100kb como JPG, mas a qualidade é reduzida, o que é esperado, mas há linhas horríveis em torno do linear que o fazem parecer terrível.
Existe uma maneira especial de converter este png em jpg, mas evite que a imagem tenha esses defeitos?
Aqui estão as imagens:
PNG:
Qualidade JPG (100%):
.SVG
? como eles são minúsculosRespostas:
JPEG não é uma compactação sem perdas
A compactação JPEG é considerada uma compactação com perdas, mesmo quando definida como 100% de qualidade, você perde alguma qualidade. É por isso que, para gráficos simples, como interfaces de interface do usuário e planos de fundo, geralmente é melhor usar um formato sem perdas, como PNG.
200kb não é tão grande em 2014/2015
Embora seja ideal diminuir o tamanho do plano de fundo o máximo possível, é importante observar que 200kb não é tão grande para a maioria das conexões de banda larga. Você pode veicular uma versão diferente para celulares e tablets usando consultas de mídia css .
Como tornar um arquivo png ainda menor
O Photoshop e outros pacotes de tinta usam compactação PNG padrão; é provável que você possa reduzir esses 200kb para menos usando o PngOptimizer ou o Smush It do Serviço Online do Yahoo . Reduzir ainda mais o tamanho do arquivo não diminui a qualidade, pois é um formato sem perdas ... ele otimiza o código reduzindo-o ainda mais, compara-o com um arquivo ZIP ou RAR, esses arquivos de compactação, mas não reduzem a qualidade do conteúdo.
Considerando usar um gradiente de faixa
Outra solução possível seria usar um gradiente PNG fino de 1px de largura e, em seguida, a altura da página, duplicá-lo e utilizá-
background-repeat
lo. Você pode até considerar o uso de CSS para gerar o Gradient para você, mas é claro que está limitado por não ser capaz de usar sombras e outros ajustes.fonte
pngcrush
e programas similares certamente podem diminuir o arquivo.Provavelmente isso não responde à sua pergunta. Algumas alternativas possíveis ...
Você já considerou o CSS:
Ou talvez você possa usar a técnica SVG base64 ( ferramenta geradora aqui ):
Você já tentou usar um PNG ainda menor e permitir que o algoritmo de escalonamento nativo do navegador o amplie? Isso pode diminuir o tamanho do arquivo e eliminar artefatos JPG.
fonte
Eu sugiro que você verifique o Kraken.io , eles têm um otimizador de imagem. As imagens no seu tópico diminuem em 45%, sem serem visíveis aos olhos!
Você também pode usar o CSS, o colorzilla tem uma boa ferramenta para criar o CSS certo para todos os navegadores.
Se você se sentir confortável com uma imagem de gradiente, solte a cor, deixe-a em preto e branco e, em seguida, dê ao div / body / elemento o fundo da seguinte maneira:
fonte
Alguns editores de imagem, como o GIMP, permitem aplicar suavização e controlar a compactação ao salvar um jpeg.
http://en.wikibooks.org/wiki/GIMP/Saving_as_JPEG
Você também pode reduzir artefatos controlando a subamostragem
http://www.ampsoft.net/webdesign-l/jpeg-compression.html
fonte
Tente adicionar ruído para minimizar as faixas:
Photoshop:
Image > Fill... >
e use estes valores:Filter > Noise > Add Noise... >
. Esses valores funcionaram bem para mim:Portanto, não há faixas desagradáveis, tamanho menor, mas à custa do ruído. Os arquivos também são consideravelmente mais pesados se comparados à versão não barulhenta (cerca de 100kb), mas metade do PNG original. Na verdade, estou um pouco surpreso que seu PNG seja tão grande.
Mais uma sugestão:
Se você não deseja adicionar ruído, tente garantir que esteja trabalhando em qualquer lugar no espaço de cores sRGB, que oferece a gama mais rica para telas de monitor (menos faixas).
fonte