Applica automaticamente il fattore di scala alle immagini incollate dagli appunti

Utilizzo un display HiDPI con un fattore di scala del 150%. Ogni volta che creo uno screenshot e lo incollo in Discourse, tutto è troppo grande. Devo applicare manualmente un fattore di scala all’immagine per farla sembrare corretta.

Supponiamo che io crei uno screenshot della seguente casella che ha una dimensione di 110x110px.

Quando incollo quello screenshot (Ctrl+V) nell’editor, ottengo un’immagine di dimensioni 167x167px.


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

Idealmente, otterrei un’immagine con le dimensioni corrette senza dover ricordare la percentuale corretta per ridurre l’immagine (che nel mio caso è del 66%).


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

Vedo 2 opzioni per questo. Se il fattore di scala non è uguale a 1:

  1. Aggiungere automaticamente il fattore di scala corretto al Markdown dell’immagine
    ![image|167x167, 66%](...)

o

  1. Aggiungere il fattore di scala corretto alla casella degli strumenti dell’immagine nella finestra di anteprima
    image

Il fattore di scala può essere calcolato in JavaScript:

Math.floor(100 / window.devicePixelRatio)
6 Mi Piace

Questa è un’ottima idea, anch’io ho difficoltà con questo problema.

Pensando ad alta voce, questo potrebbe causare falsi positivi se l’utente copia/incolla un’immagine non di screenshot?

Inoltre, per quanto riguarda l’implementazione, non vedo perché non possiamo fare sia 1 che 2.

4 Mi Piace

Sì, sarà un falso positivo quando incollerai un’immagine non screenshot. Mi chiedo cosa venga inserito più spesso, screenshot o altre immagini. :thinking:

1 Mi Piace

Non sono sicuro, immagino dipenda dall’utente e dal tipo di foto che pubblichi. A volte copio un’immagine sul mio telefono e la incollo sul desktop, quindi c’è anche questo scenario.

In ogni caso, iniziare con l’opzione 2 eviterebbe i falsi positivi, fornirebbe solo un’alternativa di dimensioni predefinita più gradevole nell’anteprima.

1 Mi Piace

Sembra che gli strumenti di screenshot codifichino alcune informazioni sulla DPI nei file PNG. Ad esempio, se carico uno screenshot dal mio ambiente macOS high-dpi su https://www.metadata2go.com/, vedo

Se disattivo HiDpi, quei campi di metadati sembrano scomparire dal file.

Vedi qualcosa di simile su Windows @gerhard? Se sì, forse c’è un modo per leggerlo in JS e fare un’ipotesi sulla densità dei pixel.

Mi sono anche imbattuto in questo gist che potrebbe essere utile.

2 Mi Piace

Sto anche esaminando l’analisi dei primi byte delle PNG per le PNG animate remote perdono la loro animazione, quindi abbiamo molteplici casi d’uso per un hook qui.

2 Mi Piace

Sto usando Spectacle su Linux e non sembra aggiungere nulla ai metadati.

Il codice di quel gist restituisce false per uno screenshot che ho creato sul mio sistema Linux con un fattore di scala del 150%. Il chunk pHYs di quell’immagine appare così:

{ xDpu: 3780, yDpu: 3780, xDpi: 96, yDpi: 96, unit: 'meter' }
3 Mi Piace