Skalierungsfaktor automatisch auf Bilder anwenden, die von der Zwischenablage eingefügt werden

Ich verwende ein HiDPI-Display mit einem Skalierungsfaktor von 150 %. Jedes Mal, wenn ich einen Screenshot erstelle und ihn in Discourse einfüge, ist alles zu groß. Ich muss manuell einen Skalierungsfaktor auf das Bild anwenden, damit es richtig aussieht.

Nehmen wir an, ich erstelle einen Screenshot der folgenden Box, die eine Größe von 110 x 110 Pixel hat.

Wenn ich diesen Screenshot (Strg+V) in den Composer einfüge, erhalte ich ein Bild mit einer Größe von 167 x 167 Pixel.


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

Idealerweise würde ich ein Bild mit der richtigen Größe erhalten, ohne dass ich mir den richtigen Prozentsatz zum Herunterskalieren des Bildes merken muss (der in meinem Fall 66 % beträgt).


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

Ich sehe dafür 2 Optionen. Wenn der Skalierungsfaktor nicht 1 ist, dann:

  1. Füge automatisch den richtigen Skalierungsfaktor zum Bild-Markdown hinzu
    ![image|167x167, 66%](...)

oder

  1. Füge den richtigen Skalierungsfaktor zur Bild-Symbolleiste im Vorschaufenster hinzu
    image

Der Skalierungsfaktor kann in JavaScript berechnet werden:

Math.floor(100 / window.devicePixelRatio)
6 „Gefällt mir“

Das ist eine tolle Idee, ich habe damit auch ständig zu kämpfen.

Wenn ich laut nachdenke, würde dies zu falsch positiven Ergebnissen führen, wenn der Benutzer ein Nicht-Screenshot-Bild kopiert und einfügt?

Außerdem sehe ich bei der erneuten Implementierung keinen Grund, warum wir nicht sowohl 1 als auch 2 machen könnten.

4 „Gefällt mir“

Ja, es wird ein Fehlalarm sein, wenn Sie ein Nicht-Screenshot-Bild einfügen. Ich frage mich, was öfter eingefügt wird, Screenshots oder andere Bilder. :thinking:

1 „Gefällt mir“

Ich bin mir nicht sicher, ich schätze, es hängt vom Benutzer und der Art der Fotos ab, die Sie posten. Manchmal kopiere ich ein Bild auf meinem Handy und füge es auf dem Desktop ein, also gibt es auch dieses Szenario.

Auf jeden Fall würde der Beginn mit Option 2 Fehlalarme vermeiden, er würde lediglich eine schönere Standardalternative Größe in der Vorschau bieten.

1 „Gefällt mir“

Es sieht so aus, als ob Screenshot-Tools einige Informationen über DPI in die PNG-Dateien kodieren. Wenn ich z. B. einen Screenshot aus meiner macOS-Umgebung mit hoher DPI auf https://www.metadata2go.com/ hochlade, sehe ich

Wenn ich HiDpi ausschalte, scheinen diese Metadatenfelder aus der Datei zu verschwinden.

Siehst du etwas Ähnliches unter Windows, @gerhard? Wenn ja, gibt es vielleicht eine Möglichkeit, es in JS zu lesen und eine Vermutung über die Pixeldichte anzustellen.

Ich bin auch auf diesen Gist gestoßen, der nützlich sein könnte.

2 „Gefällt mir“

Ich untersuche auch das Parsen der ersten Bytes von PNGs für Remote animated PNG lose their animation, sodass wir hier mehrere Anwendungsfälle für einen Hook haben.

2 „Gefällt mir“

Ich verwende Spectacle unter Linux und es scheint nichts zu den Metadaten hinzuzufügen.

Der Code aus diesem Gist gibt false für einen Screenshot zurück, den ich auf meinem Linux-System mit einem Skalierungsfaktor von 150 % erstellt habe. Der pHYs-Chunk dieses Bildes sieht wie folgt aus:

{ xDpu: 3780, yDpu: 3780, xDpi: 96, yDpi: 96, unit: 'meter' }
3 „Gefällt mir“