No estoy muy seguro de entender la compresión de imágenes en Discourse. Aclárame.
Subí una imagen de 2392x884 de 214 kb y la resolución se mantuvo igual.
Subí una imagen de 3200x1800 de 1.7 MB y la resolución se redujo al umbral de composer media optimization image resize dimensions (dimensiones de redimensionamiento de optimización de medios del compositor).
Con la configuración en 1280 de ancho, esperaba que todas las imágenes se redujeran a ese ancho. Sin embargo, parece que el umbral de composer media optimization image bytes optimization threshold (umbral de optimización de bytes de optimización de medios del compositor) sienta el precedente.
Mi primera imagen tenía menos de 524 kb, por lo que no se alteró.
La segunda imagen tenía más de 524 kb, por lo que se alteró.
Si sigo correctamente, ¿hay alguna forma de reducir todos los archivos subidos a 1280 de ancho?
Dado que el tema se llama de forma muy general, no inicio un nuevo tema , pero ¿qué significa optimización del lado del cliente en la práctica? ¿El sistema operativo del dispositivo decidirá si hará o no algo? Pero eso conducirá a la situación en la que una imagen gigante tendrá que transferirse a un cliente antes de que su tamaño cambie a una escala decente, ¿o estoy totalmente perdido ahora?
Lo intenté anoche antes de publicar y esa parece ser la clave.
Aquí está el asunto:
composer media optimization image bytes optimization threshold
Configuración de 524288 (predeterminada) = Imagen de buena calidad, 1920px.
Configuración de 200000 = Imagen degradada, ya que reduce la resolución de 1920 a 1280.
Así que esta mañana, en mi escritorio, tomé la misma imagen (2392px), la redimensioné a 1280px y también se degradó un poco. Así que la degradación no puedo evitarla. Es un producto de reducir la resolución de 2392px a 1280px. Sin embargo, redujo el tamaño de la imagen cuatro veces.
Nota: Las fotos .HEIC no siguen las mismas reglas. Un .HEIC de 4032px se redujo a 2016px. Así que no sé cómo se aplicó esa configuración.
En general, creo que lo entiendo, después de un poco de prueba y error. Creo que usaré la configuración predeterminada, realmente me gusta la nitidez adicional de una foto de 1920px sobre la de 1280px.
Espero que esto ayude a alguien más.
Editar: Reduje composer media optimization image bytes optimization threshold de la predeterminada 524288 a 200000. Noté que al subir un archivo .png básico de 1220px a 414kb solo resultó en un tamaño de archivo de 406kb. Al reducir la configuración anterior a 200000, el tamaño del archivo se redujo de 414kb a 201kb. La resolución no cambió.
Así que no sé qué más se activa con esa configuración, pero claramente algo más para reducir aún más el tamaño de la imagen.
X → composer media optimization image bytes optimization threshold
Y → composer media optimization image resize dimensions threshold
Z → composer media optimization image resize width target
Me temo que debo ser tonto por no entender bien esta parte al mirar las definiciones de la configuración:
composer_media_optimization_image_dimensions_resize_threshold: por defecto 1920
Ancho mínimo de imagen para activar el redimensionamiento del lado del cliente
composer_media_optimization_image_dimensions_resize_target: por defecto 1920
Las imágenes más anchas que composer_media_optimization_image_dimensions_resize_threshold se redimensionarán a este ancho.
Debe ser ≥ a ese umbral.
Esta parte específicamente:
Debe ser ≥ a ese umbral.
¿No debería ser ≤ en su lugar? No entiendo por qué se redimensionaría a un valor de ancho mayor que el umbral
Además, en la descripción de la misma configuración, la primera configuración tiene el nombre incorrecto: