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.
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).
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.
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.
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.
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: