Le paramètre de site « min ratio to crop » devrait respecter le ratio w/h défini en markdown

Les images avec un ratio hauteur/largeur élevé ne respectent pas la taille définie manuellement dans le post (l’aperçu du compositeur affiche la bonne taille, mais une fois le post soumis, la taille est brièvement correcte avant d’être redimensionnée à la largeur de l’écran)

![image|50x50](upload://dO5YfHKxcWVcelI12ypCQpOhc3A.png) 

![image|50x50](upload://dBlV2poMFtso5zGLgXpcBraTVxg.png) 

2 « J'aime »

Au fil des ans, nous avons eu quelques sujets sur les images hautes (rapport hauteur/largeur élevé). À ma connaissance, le comportement standard est celui que vous rencontrez. Il existe un paramètre de site pour modifier cela :

3 « J'aime »

Ce serait effectivement le cas si l’image était insérée sans recadrage manuel de la taille.

Mon problème n’est pas de vouloir que l’image s’affiche dans sa taille par défaut (avec une hauteur supérieure à la largeur), mais qu’elle soit ajustée aux paramètres entrés manuellement (remarquez que la taille est définie à 50x50 pour les deux images, mais une seule est respectée).

Je pense toujours qu’il s’agit d’un bug, car l’image n’a pas été insérée avec une taille automatique définie par le système (et ensuite ajustée selon les paramètres du site) ; le système n’a en fait pas respecté la taille entrée intentionnellement à la main.

2 « J'aime »

J’ai compris ce que vous avez dit : j’ai dit que c’est le comportement standard, tel que je le comprends.

Autrement dit, vous n’avez pas redimensionné manuellement la taille du message enregistré. Je ne pense pas que ce soit possible, mais un membre de l’équipe pourra vous confirmer cela.

Consultez le message suivant qui explique comment le redimensionnement est géré ; vous verrez que définir à la fois les mesures de hauteur et de largeur ne fonctionnera pas sauf si elles correspondent aux dimensions réelles :

1 « J'aime »

Avec tout le respect que je vous dois, je pense que ce n’est pas le cas. Peut-être que je ne l’ai pas bien expliqué, alors je vais réessayer :

  • l’image originale en question a un ratio largeur/hauteur en pixels faible (ceci n’est pas contesté)
  • si l’image est insérée directement dans l’éditeur, elle sera dimensionnée avec une largeur et une hauteur automatiques en markdown comme ceci ![image|164x500](upload://) et elle conservera le même ratio faible largeur/hauteur, et sera donc affichée selon le paramètre ratio minimum pour recadrer
  • mais, lorsque l’image est redimensionnée manuellement en markdown comme ! [image|50x50](upload://): ce nouveau ratio largeur/hauteur est de 1, et donc il ne devrait pas déclencher le paramètre du site ratio minimum pour recadrer.

L’image originale ne peut pas être recadrée, car toutes les informations qu’elle contient sont importantes ; l’objectif souhaité est de créer une miniature de 50x50 qui pointe vers l’original.

Le problème correctement reformulé est donc :

le paramètre du site ratio minimum pour recadrer devrait respecter le ratio largeur/hauteur tel que défini en markdown, et non le ratio physique en pixels.

@dax, cela a été déplacé de bug vers Support. Dois-je ouvrir un nouveau sujet dans bug ou modifier le premier message dans celui-ci ?

3 « J'aime »

La reformulation du problème semble correcte. Cependant, si vous aviez lu les sujets que j’ai liés, vous comprendriez pourquoi cela n’aura probablement pas de suite.

Le paramètre du site a été développé pour empêcher les individus de le contourner, alors que vous souhaitez le faire. À la place, le paramètre du site doit être modifié suffisamment pour rendre le ratio d’aspect de l’image acceptable lors du redimensionnement.

Autrement dit, les images trop allongées ne sont pas acceptées par défaut et doivent être explicitement autorisées par l’administrateur du site. Les utilisateurs individuels ne peuvent pas contourner cette règle.

1 « J'aime »

À quoi ressemblerait cette miniature ? En prenant votre exemple de 50x50, je vois trois options :

  • Le haut ou le bas de l’image est recadré pour que la miniature devienne un carré parfait de 50x50 pixels.
  • Les côtés gauche et droit seraient remplis de noir (ou d’une couleur similaire) afin d’afficher l’image « complète » dans son ratio d’aspect original au sein de la miniature de 50x50 pixels.
  • L’image est étirée pour que l’image complète (mais déformée) occupe un carré parfait de 50x50 pixels.

Y a-t-il une autre option que je ne vois pas ?

Veuillez consulter le premier message : la première image est en réalité redimensionnée à 50x50, et la méthode employée est tout à fait correcte et devrait fonctionner pour n’importe quel rapport d’aspect (je crois qu’elle recadre l’image depuis le haut centre avec toute la largeur, et avec une hauteur ajustée selon le rapport d’aspect déclaré, puis elle est redimensionnée).

Le problème est que, pour une image ayant un faible rapport de pixels largeur/hauteur mais un rapport d’aspect acceptable défini manuellement pour l’écran, le paramètre global ne devrait pas s’appliquer.

Le rapport défini manuellement devrait primer, car ce paramètre vise à empêcher l’image de dominer une grande partie de l’affichage (en raison de sa hauteur), ce qui n’est clairement pas le cas en 50x50.

Oui, je l’ai vu. Mais cela semblait contredire votre autre affirmation :

En relisant, je réalise que vous avez dit que l’original ne devrait pas être recadré. À ma connaissance, l’image originale n’est jamais recadrée, donc il n’y a rien à craindre de ce côté-là.

Quoi qu’il en soit, je suis d’accord avec votre préoccupation/suggestion générale. La raison invoquée pour n’afficher que des images partielles est d’empêcher les images avec un rapport hauteur/largeur élevé de dominer la page. Lorsque vous définissez les dimensions à quelque chose comme 50x50 dans votre exemple, ce n’est évidemment pas le cas. Il n’y a donc aucune raison d’ignorer les dimensions Markdown spécifiées.

1 « J'aime »

Je ne fais pas partie de l’équipe Discourse, je me contente donc de répéter ce que j’ai vu.

Plusieurs raisons ont été avancées pour justifier le paramètre par défaut actuel. Voici celles dont je me souviens avoir vues ici :

  • offrir un contrôle de cette fonctionnalité au propriétaire du site
  • empêcher les images allongées de dominer en occupant trop d’espace verticalement
  • éviter que les images allongées ne deviennent de fines bandes horizontales ou des ruptures
  • fournir des aperçus lisibles
  • décourager les images inhabituelles non optimisées (y compris les images allongées), qui sont parfois dues à un étirement involontaire dans une dimension

Il y a aussi le problème de l’aperçu dans l’éditeur, qui donne l’impression que vous pouvez redimensionner manuellement l’image affichée. Cela a déjà été signalé, mais apparemment, ce n’est pas considéré comme une priorité à corriger :

Je pense que vous passez à côté du point essentiel. Pourquoi une image de 200x1000 spécifiée comme 200x200 en markdown devrait-elle être traitée différemment d’une image de 200x300 également spécifiée comme 200x200 en markdown ?

1 « J'aime »

Je ne passe pas à côté du sujet, car je ne plaide ni pour ni contre le changement de la valeur par défaut. Je répète que je me contente de rapporter ce qui existe déjà dans le forum. Je ne fais pas partie de l’équipe Discourse, je n’ai donc aucun rôle à jouer dans les décisions concernant l’avenir.

La seule opinion que j’ai exprimée est que je considère peu probable qu’il y ait un changement dans la valeur par défaut actuelle. Après cinq ans à lire presque chaque nouveau sujet sur ce forum, je suis beaucoup plus à l’aise avec la manière dont l’équipe prend ses décisions. Pour l’instant, l’absence de contributions de l’équipe Discourse est révélatrice.

Peut-être devrions-nous laisser un peu d’espace à l’équipe pour répondre, car ce sujet a dérivé d’un simple rapport de bug vers un long article hors sujet.

Ce homme de paille a été battu à mort, peut-être est-il temps de le laisser reposer ?

Personne ici ne soutient que cette valeur par défaut doit être modifiée ; en réalité, elle est tout à fait raisonnable telle quelle :

Ce que je soutiens, c’est que min ratio to crop devrait fonctionner uniquement avec les dimensions définies dans le post lui-même, plutôt qu’avec celles du fichier physique.

Si l’image ayant un faible ratio largeur/hauteur est redimensionnée manuellement dans le post, ne domine-t-elle plus la discussion ?

Et avant que la question ne se pose, voici pourquoi cela constitue un bug :

C’est parce que je ne peux pas formater uniquement un sous-ensemble spécifique d’images, qui domineraient la discussion si elles n’étaient pas formatées, créant ainsi un dilemme.

Si vous ne me croyez toujours pas que ce paramètre brise le fonctionnement attendu, essayez de redimensionner la deuxième image du message original à 50 % en utilisant l’outil de mise à l’échelle de l’éditeur.

Le résultat est que toutes les images du post peuvent être réduites à la moitié de leur largeur, sauf celles qui sont hautes et étroites.

1 « J'aime »

Ce n’est pas un bug, car il s’agit du comportement normal et par défaut de Discourse. C’est une limitation connue, conçue intentionnellement. De plus, il existe un paramètre du site permettant d’autoriser ce que vous souhaitez, et il appartient au propriétaire du site de lever cette restriction.

Il existe des paramètres du site pour les tailles d’images, les extensions de fichiers, etc., qui font l’objet de demandes similaires visant à modifier la valeur par défaut. Ce ne sont pas des bugs si vous n’avez qu’à solliciter le propriétaire du site pour tenter de modifier un paramètre.

Ce n’est pas un bug. Si vous le remettez en tant que bug, vous constaterez assez brusquement que vous ne serez plus le bienvenu ici.

2 « J'aime »

Bonjour Jeff, merci de vous intéresser à ce problème.

Je peux vous assurer que je n’ai pas (et ne le ferai jamais) re-catégorisé ce sujet après qu’il ait été déplacé vers une autre catégorie par un membre de l’équipe (veuillez noter que la re-catégorisation vers la catégorie « bug » n’a pas été faite par moi). Je suis tout à fait d’accord pour qualifier cela de demande de fonctionnalité.

Mon objectif en publiant ici était d’exposer le problème que je rencontre lors de l’utilisation régulière du logiciel et de solliciter une réponse de la part de l’équipe.

Je ne réclame rien du tout, pas même une réponse, mais j’aimerais au moins être entendu par l’équipe (et non pas simplement rejeté à plusieurs reprises par le même membre de ce forum – sans aucun doute bien intentionné – avec le même argument qui ne traite pas entièrement le problème).

J’espère que vous avez pu parcourir l’ensemble du sujet et que vous êtes familier avec le problème, mais pour plus de clarté, voici un résumé :

  • toutes les images ne peuvent pas être définies à la taille souhaitée en utilisant le markdown (comportement inattendu du point de vue de l’utilisateur)
  • cela est régi par « min ratio to crop », qui utilise le rapport largeur/hauteur en pixels de l’image, même lorsque l’image est redimensionnée manuellement via le markdown à un rapport largeur/hauteur acceptable
  • si cela ne représente pas trop d’investissement, serait-il possible d’utiliser le rapport largeur/hauteur tel que défini dans le markdown ?

Cela résoudrait le comportement inattendu de mise à l’échelle des images, comme dans cet exemple (toutes les images définies à 50x50) :

Cliquez pour agrandir
Cliquez pour agrandir
Cliquez pour agrandir
Cliquez pour agrandir

Merci de votre considération, et merci encore à toute l’équipe pour tous les efforts déployés dans ce merveilleux logiciel !

7 « J'aime »

Je ne sais pas à quel point ce serait complexe à modifier, mais j’aimerais aussi voir cela.

Je rencontre généralement ce problème lorsque je publie une capture d’écran de l’interface… lorsque vous rédigez un message, il n’y a aucune indication que l’image sera recadrée, je finis donc par le publier, voir l’image recadrée, puis modifier le message pour éviter le recadrage. À quelques reprises, j’ai essayé de modifier les dimensions en Markdown, mais bien sûr, cela ne fonctionne pas… je finis donc par revenir en arrière, recadrer l’image et la téléverser à nouveau.

8 « J'aime »

@zogstrip, qu’en penses-tu ?


    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

Par rapport à l’existant :

C’est certainement moins surprenant que le comportement actuel et cela rendrait @awesomerobot heureux. Le seul vrai inconvénient que je vois, c’est que ce test est très, très, très artificiel.

Si tu le souhaites, n’hésite pas à faire un commit.

7 « J'aime »

Je recommande une modification mineure :

Modifier une dimension sans l’autre pourrait entraîner quelques… bizarreries

2 « J'aime »

D’après ce que je vois, il corrige le ratio d’aspect ensuite, du moins en développement.

5 « J'aime »