Appliquer automatiquement le facteur d'échelle aux images collées depuis le presse-papiers

J’utilise un écran HiDPI avec un facteur de mise à l’échelle de 150 %. Chaque fois que je crée une capture d’écran et que je la colle dans Discourse, tout est trop grand. Je dois appliquer manuellement un facteur de mise à l’échelle à l’image pour qu’elle paraisse correcte.

Supposons que je crée une capture d’écran de la boîte suivante qui a une taille de 110x110px.

Lorsque je colle cette capture d’écran (Ctrl+V) dans l’éditeur, j’obtiens une image de 167x167px.


![image|167x167](upload://fWfpRZXtBMVBXjcMTAPOwtG5bND.png)

Idéalement, j’obtiendrais une image de la bonne taille sans avoir à me souvenir du pourcentage correct pour réduire l’image (qui est de 66 % dans mon cas).


![image|167x167, 66%](upload://fWfpRZXtBMVBXjcMTAPOwtG5bND.png)

Je vois 2 options pour cela. Si le facteur de mise à l’échelle n’est pas égal à 1, alors :

  1. Ajouter automatiquement le facteur de mise à l’échelle correct au Markdown de l’image
    ![image|167x167, 66%](...)

ou

  1. Ajouter le facteur de mise à l’échelle correct à la boîte à outils de l’image dans la fenêtre d’aperçu
    image

Le facteur de mise à l’échelle peut être calculé en JavaScript :

Math.floor(100 / window.devicePixelRatio)
6 « J'aime »

C’est une excellente idée, j’ai aussi du mal avec ça tout le temps.

En réfléchissant à voix haute, cela pourrait-il causer de faux positifs si l’utilisateur copie/colle une image qui n’est pas une capture d’écran ?

Aussi, concernant la réimplémentation, je ne vois pas pourquoi nous ne pourrions pas faire à la fois 1 et 2.

4 « J'aime »

Oui, ce sera un faux positif lorsque vous collerez une image qui n’est pas une capture d’écran. Je me demande ce qui est inséré le plus souvent, les captures d’écran ou d’autres images. :thinking:

1 « J'aime »

Je ne suis pas sûr, je suppose que cela dépend de l’utilisateur et du type de photos que vous publiez. Parfois, je copie une image sur mon téléphone et je la colle sur mon ordinateur, donc il y a aussi ce scénario.

Quoi qu’il en soit, commencer par l’option 2 permettrait d’éviter les faux positifs, cela fournirait simplement une meilleure taille par défaut alternative dans l’aperçu.

1 « J'aime »

Il semble que les outils de capture d’écran encodent certaines informations sur la DPI dans les fichiers PNG. Par exemple, si je télécharge une capture d’écran de mon environnement macOS haute résolution vers https://www.metadata2go.com/, je vois

Si je désactive HiDpi, ces champs de métadonnées semblent disparaître du fichier.

Voyez-vous quelque chose de similaire sous Windows @gerhard ? Si oui, il y a peut-être un moyen pour nous de le lire en JS et de deviner la densité de pixels.

J’ai également trouvé ce gist qui pourrait être utile.

2 « J'aime »

J’examine également l’analyse des premiers octets des PNG pour les PNG animés distants perdent leur animation, donc nous avons plusieurs cas d’utilisation pour un hook ici.

2 « J'aime »

J’utilise Spectacle sous Linux et il ne semble rien ajouter aux métadonnées.

Le code de ce gist renvoie false pour une capture d’écran que j’ai créée sur mon système Linux avec un facteur d’échelle de 150 %. Le bloc pHYs de cette image ressemble à ceci :

{ xDpu: 3780, yDpu: 3780, xDpi: 96, yDpi: 96, unit: 'meter' }
3 « J'aime »