Las imágenes con una relación alto/ancho elevada no respetan el tamaño establecido manualmente en la publicación (la vista previa del editor muestra el tamaño correcto; al enviar la publicación, el tamaño es correcto brevemente, pero luego se ajusta al ancho de la pantalla).
Con el paso de los años hemos tenido varios temas sobre imágenes altas (con una relación alto-ancho elevada). Por lo que sé, el comportamiento estándar es el que estás experimentando. Hay una configuración del sitio para cambiar esto:
Efectivamente, este sería el caso si la imagen se insertara sin recortar manualmente el tamaño.
Mi problema no es que la imagen se muestre en su tamaño predeterminado (con una altura mayor que el ancho), sino que se ajuste a los parámetros ingresados manualmente (observe que el tamaño está establecido como 50x50 para ¡ambas imágenes!, pero solo una es respetada).
Sigo pensando que esto es un error, ya que la imagen no se insertó con un tamaño automático configurado por el sistema (y luego ajustado según la configuración del sitio); de hecho, el sistema no respetó el tamaño que se ingresó deliberadamente a mano.
Entendí lo que dijiste: dije que ese es el comportamiento estándar según mi comprensión.
En otras palabras, no recortaste manualmente el tamaño de la publicación guardada. No creo que puedas hacerlo, pero alguien del equipo puede confirmarlo.
Consulta la siguiente publicación que explica cómo se maneja el redimensionamiento y verás que establecer tanto la altura como el ancho no funcionará a menos que sean las dimensiones reales:
Con todo respeto, creo que no es así. Quizás no lo expliqué bien, así que lo intentaré de nuevo:
la imagen original en cuestión tiene una relación de aspecto baja entre ancho y alto en píxeles (esto no se discute)
si la imagen se inserta directamente en el editor, se dimensionará con ancho y alto automáticos en Markdown como , manteniendo la misma baja relación de aspecto y, por lo tanto, se mostrará según el ajuste “relación mínima para recortar”.
pero, cuando la imagen se redimensiona manualmente en Markdown como : esta nueva relación de aspecto es 1, por lo que no debería activar el ajuste del sitio “relación mínima para recortar”.
La imagen original no puede recortarse, ya que toda la información que contiene es importante; el resultado deseado es crear una miniatura pequeña de 50x50 que apunte a la original.
El problema, debidamente reformulado, es el siguiente:
El ajuste del sitio “relación mínima para recortar” debería respetar la relación de aspecto definida en Markdown en lugar de la relación de aspecto física en píxeles.
@dax, esto fue movido de bug a Support. ¿Debería abrir un nuevo tema en bug o editar el mensaje original en este?
El problema reescrito parece correcto. Pero si hubieras leído los temas que enlacié, entenderías por qué probablemente no tendrá ninguna tracción.
La configuración del sitio se desarrolló para evitar que los individuos la anulen, mientras que tú quieres anularla. En su lugar, la configuración del sitio debe modificarse lo suficiente para que la relación de aspecto de la imagen sea aceptable para el redimensionamiento.
En otras palabras, las imágenes demasiado alargadas no son aceptables de forma predeterminada y deben ser permitidas explícitamente por el administrador del sitio. Los usuarios individuales no pueden anular esto.
¿Cómo se vería esta miniatura? Con tu ejemplo de 50x50, veo tres opciones:
Se recorta la parte superior/inferior de la imagen para que la miniatura sea un cuadrado perfecto de 50x50.
Los lados izquierdo/derecho tendrían un relleno negro (o similar) para que se vea la imagen “completa” en su relación de aspecto original dentro de la miniatura de 50x50.
La imagen se estira para que la imagen completa (aunque distorsionada) ocupe un cuadrado perfecto de 50x50.
Por favor, revisa la publicación original: la primera imagen está redimensionada a 50x50, y la forma en que se hace es correcta y debería funcionar para cualquier proporción (creo que recorta la imagen desde el superior centro con el ancho completo, y con una altura ajustada según la proporción declarada, para luego redimensionarla).
El problema es que, para la imagen que tiene una baja relación de aspecto en píxeles pero una relación de aspecto en pantallaaceptable establecida manualmente, la configuración global no debería aplicarse.
La relación de aspecto establecida manualmente debe tener prioridad, ya que esta configuración está diseñada para evitar que la imagen domine una gran parte de la pantalla (debido a su altura), lo cual claramente no ocurre a 50x50.
Sí, lo vi. Pero parecía contradecir tu otra afirmación:
Al releerlo, me doy cuenta de que dijiste que la original no debería ser recortada. Por lo que sé, la imagen original nunca se recorta, así que no hay de qué preocuparse en ese aspecto.
En cualquier caso, estoy de acuerdo con tu preocupación/sugerencia general. La razón declarada para mostrar solo imágenes parciales es evitar que las imágenes con una alta proporción de altura a ancho dominen la página. Al establecer las dimensiones en algo como 50x50 en tu ejemplo, esto obviamente no es el caso. Por lo tanto, no hay razón para ignorar las dimensiones de markdown especificadas.
No soy parte del equipo de Discourse, así que solo estoy repitiendo lo que he visto.
Se han dado más de una razón para la configuración predeterminada actual. Las razones que recuerdo haber visto aquí son:
otorgar al propietario del sitio el control de esta función
evitar que las imágenes alargadas dominen ocupando demasiado espacio vertical
evitar que las imágenes alargadas se conviertan en tiras horizontales o se rompan
proporcionar vistas previas legibles
desalentar imágenes inusuales no optimizadas (incluidas las imágenes alargadas), que a veces se deben a un estiramiento no intencional en una dimensión
También está el problema con la vista previa del compositor, que te hace pensar que puedes redimensionar manualmente la imagen de visualización. Esto se ha reportado antes, pero aparentemente no se ha considerado una prioridad para solucionarlo:
Creo que no estás entendiendo el punto. ¿Por qué una imagen de 200x1000 especificada como 200x200 en Markdown debería tratarse de manera diferente a una imagen de 200x300 también especificada como 200x200 en Markdown?
No estoy pasando por alto el punto, porque no estoy argumentando a favor ni en contra de cambiar la configuración predeterminada. Repito que solo estoy informando sobre lo que ya existe en el foro. No formo parte del equipo de Discourse, por lo que no tengo ningún papel en la toma de decisiones sobre lo que sucede.
La única opinión que he expresado es que considero poco probable que haya algún cambio en la configuración predeterminada actual. Después de cinco años leyendo casi cada nuevo tema en este foro, me siento mucho más cómodo con la forma en que el equipo toma decisiones. En este momento, la falta de aportes por parte del equipo de Discourse es reveladora.
Quizás deberíamos dar al equipo un poco de espacio para responder, ya que este hilo se ha desviado de un simple informe de error para convertirse en un artículo de opinión fuera de tema.
Este hombre de paja ha sido derrotado hasta la muerte; quizás sea hora de dejarlo descansar.
Nadie aquí está argumentando que esta configuración predeterminada necesite cambios; de hecho, es bastante sensata tal como está:
Lo que estoy argumentando es que min ratio to crop debería operar utilizando las dimensiones definidas en la propia publicación, en lugar de las del archivo físico.
Si la imagen con una relación ancho/alto baja se redimensiona manualmente dentro de la publicación, ¿acaso ya no domina la discusión?
Y antes de que surja la pregunta de por qué esto constituye un error:
Es porque no puedo formatear solo un subconjunto específico de imágenes, las cuales sí dominarían la discusión si se dejan sin formatear, creando así un dilema sin salida.
Si aún no me creen que esta configuración rompe la funcionalidad esperada, por favor intenten redimensionar la segunda imagen del mensaje original al 50 % usando la herramienta de escalado del compositor.
El resultado es que todas las imágenes en la publicación pueden reducirse a la mitad de su ancho, excepto las altas y estrechas.
No es un error, ya que es el comportamiento normal y predeterminado de Discourse. Es una limitación conocida por diseño. Además, existe una configuración del sitio que permite lo que deseas, y es prerrogativa del propietario del sitio levantar esa restricción.
Hay configuraciones del sitio para tamaños de imagen, extensiones de archivo, etc., que generan solicitudes similares para cambiar el valor predeterminado. No son errores si solo tienes que solicitar al propietario del sitio que intente cambiar una configuración.
Puedo asegurarte que no (y nunca lo haría) recategoricé este tema; fue movido a otra categoría por un miembro del equipo (ten en cuenta que la recategorización de vuelta a la categoría de error no fue realizada por mí). Estoy bastante dispuesto a llamar a esto una solicitud de funcionalidad.
Mi propósito al publicar aquí fue exponer el problema que tengo con el uso habitual del software y solicitar una respuesta del equipo.
De ninguna manera estoy exigiendo nada, ni siquiera una respuesta, pero me gustaría al menos ser escuchado por el equipo (y no ser descartado varias veces seguidas por el mismo —sin duda bienintencionado— miembro de este foro con el mismo argumento, que no aborda completamente el problema).
Espero que hayas podido leer todo el tema y que estés familiarizado con el problema, pero solo para mayor claridad, aquí tienes el resumen:
no todas las imágenes pueden establecerse al tamaño deseado usando markdown (comportamiento inesperado desde el punto de vista del usuario)
esto está gobernado por min ratio to crop, que utiliza la relación de ancho/alto en píxeles de la imagen, incluso cuando la imagen se redimensiona manualmente mediante markdown a una relación de ancho/alto aceptable
si no es demasiado costoso en términos de esfuerzo, ¿sería posible utilizar la relación de ancho/alto definida en markdown en su lugar?
Esto solucionaría el comportamiento inesperado de escalado de imágenes como este (todas las imágenes configuradas a 50x50):
No estoy seguro de qué tan complejo sería cambiarlo, pero me gustaría verlo también.
Normalmente me encuentro con esto cuando publico una captura de pantalla de la interfaz… al redactar una publicación, no hay ninguna indicación de que la imagen se va a recortar, así que termino publicándola, veo la imagen recortada y luego edito la publicación para evitar el recorte. Varias veces he intentado editar las dimensiones en el markdown, pero, por supuesto, eso no funciona… así que al final vuelvo, recorto la imagen y la vuelvo a subir.
if crop
cropped_width, cropped_height = ImageSizer.crop(original_width, original_height)
if cropped_width < width
width = cropped_width
img["width"] = width
end
if cropped_height < height
height = cropped_height
img["height"] = height
end
end
frente al actual:
Ciertamente es menos sorprendente que el comportamiento actual y le haría feliz a @awesomerobot. La única molestia real que veo es que esta prueba es muy, muy, muy dependiente de mocks.
Si te parece bien, siéntete libre de hacer el commit.