Actualmente estoy lidiando con un problema de calidad de imagen para la imagen de fondo de mi sitio web.
Tengo una gran imagen de fondo borrosa que me gustaría usar, pero me gustaría que tuviera el tamaño más pequeño posible para el sitio web.
Para tenerlo en su más alta calidad (png), se trata de 200kb.
Puedo reducirlo a aproximadamente 100 kb como JPG, pero la calidad se reduce, lo que se espera, pero hay líneas de aspecto horrible alrededor del lineal que lo hace ver terrible.
¿Hay alguna forma especial de convertir este png en un jpg pero evitar que la imagen tenga estos defectos?
Aquí están las imágenes:
PNG:
Calidad JPG (100%):
.SVG
? como son pequeñosRespuestas:
JPEG no es una compresión sin pérdidas
La compresión JPEG se considera una compresión con pérdida, incluso cuando se establece en un 100% de calidad , pierde algo de calidad. Es por eso que para gráficos simples como las interfaces de usuario y los fondos generalmente es mejor usar un formato sin pérdidas como PNG.
200kb no es tan grande en 2014/2015
Si bien sería una idea disminuir el tamaño del fondo tanto como sea posible, es importante tener en cuenta que 200 kb no es tan grande para la mayoría de las conexiones de banda ancha. Puede servir una versión diferente para móviles y tabletas utilizando consultas de medios css .
Hacer un archivo png aún más pequeño
Photoshop y otros paquetes de pintura usan compresión PNG estándar, es probable que pueda reducir esos 200 kb a menos usando PngOptimizer o el servicio en línea de Yahoo Smush It . Reducir el tamaño del archivo aún más no reducirá la calidad, ya que es un formato sin pérdidas ... básicamente optimiza el código reduciéndolo aún más, compárelo con un archivo ZIP o RAR, estos archivos comprimidos pero no reducen la calidad del contenido.
Considerando usar un gradiente de rayas
Otra posible solución podría ser que use un gradiente PNG delgado que tenga 1px de ancho y luego la altura de la página, luego duplique esto usando
background-repeat
, incluso podría considerar usar CSS para generar el Gradiente para usted, pero por supuesto está limitado por no ser capaz de usar sombras y otros ajustes.fuente
pngcrush
y programas similares ciertamente pueden hacer que el archivo sea más pequeño.Esto probablemente no responde a tu pregunta. Algunas posibles alternativas ...
¿Has considerado CSS en su lugar?
O tal vez podría usar la técnica SVG base64 ( herramienta de generador aquí ):
¿Has intentado usar un PNG aún más pequeño y permitir que el algoritmo de escalamiento nativo del navegador lo amplíe? Esto podría reducir el tamaño del archivo y eliminar los artefactos JPG.
fuente
Le sugiero que eche un vistazo a Kraken.io , tienen un optimizador de imagen. ¡Las imágenes en su tema disminuyen en un 45% de tamaño, sin ser visibles a la vista!
También puede usar css, colorzilla tiene una buena herramienta para crear el css correcto para todos los navegadores.
Si se siente más cómodo con una imagen de degradado, suelte el color, hágalo en blanco y negro, y luego déle al div / cuerpo / elemento el fondo de la siguiente manera:
fuente
Algunos editores de imágenes, como GIMP, le permiten aplicar suavizado y controlar la compresión al guardar un archivo JPEG.
http://en.wikibooks.org/wiki/GIMP/Saving_as_JPEG
También puede reducir los artefactos controlando el submuestreo
http://www.ampsoft.net/webdesign-l/jpeg-compression.html
fuente
Intente agregar ruido para minimizar las bandas:
Photoshop:
Image > Fill... >
y use estos valores:Filter > Noise > Add Noise... >
. Estos valores me funcionaron bien:Así que no hay bandas desagradables, de menor tamaño pero a expensas del ruido. Los archivos son considerablemente más pesados en comparación con la versión no ruidosa (alrededor de 100 kb), pero la mitad del PNG original. En realidad estoy un poco sorprendido de que tu PNG fuera tan grande.
Una sugerencia más:
Si no desea agregar ruido, intente asegurarse de que está trabajando en todas partes en el espacio de color sRGB, que proporciona la gama más rica para pantallas de monitor (menos bandas).
fuente