Discourse verliert beim Generieren von Thumbnails die oberen/unteren Pixel

Wenn Sie Bilder an einen Beitrag anhängen, ändert Discourse deren Größe, um für die Anzeige geeignete Miniaturansichten zu erstellen.

Dabei scheint ein Fehler vorzuliegen, der dazu führt, dass konsequent die oberste und unterste Pixelreihe verloren geht.

Das ist kein großes Problem, lässt aber Dinge mit dünnen Rändern seltsam aussehen. (z. B. sehen die meisten Screenshots von Windows 10-Software falsch aus, da der untere Rand des Fensters fehlt.)

Beobachtungen:

  • Es scheint nicht am Seitenverhältnis zu liegen, also denke ich nicht, dass es sich um das beabsichtigte Zuschneiden von sehr breiten oder hohen Bildern handelt; es scheint ein Fehler zu sein.

  • Ich habe überprüft, dass Pixel in der eigentlichen Miniaturansicht fehlen. Das bedeutet, dass dies beim Erstellen der Miniaturansicht auf dem Backend passiert und nicht bei der Anzeige durch den Browser.

  • Edit: Ich habe gerade bemerkt, dass die oberen und unteren Pixel nicht vollständig verschwunden sind, sondern so stark vermischt/ausgeblendet sind, dass es fast so ist. Vielleicht hat es etwas damit zu tun, wie der Größenänderungsalgorithmus die Ränder des Bildes verarbeitet? Es scheint nie bei den linken und rechten Rändern aufzutreten, z. B. bei Screenshots im Hochformat.

  • Wenn Sie auf das Vollbild klicken, wird dieses zumindest korrekt angezeigt.

Hoffentlich reproduziert dieses Beispielbild das Problem hier im Discourse-Forum:

Das sollte ein weißes Bild mit einem 1-Pixel-roten Rand auf allen Seiten sein. Wenn das Problem hier auftritt, sehen Sie nur die linken und rechten Ränder, bis Sie auf das Vollbild klicken.

(Edit: Es scheint tatsächlich hier aufzutreten.)

Falls es hier nicht auftritt, ist dies das Ergebnis, das ich auf meinem eigenen Forum sehe:

Beim Testen müssen Sie nach dem Posten ein wenig warten (und manchmal den Thread aktualisieren), damit es auftritt, da es einige Sekunden nach dem Posten dauert, bis die Miniaturansicht serverseitig erstellt wird.

4 „Gefällt mir“

Ja, mir ist das auch schon seit geraumer Zeit aufgefallen. Ich bin mir nicht sicher, was man dagegen tun kann.

1 „Gefällt mir“

Interessant, ich sehe oben, links und rechts, aber nicht unten.

chrome://gpu
Chrome-Version Chrome/87.0.4280.141
Betriebssystem Windows NT 10.0.19042
GL_RENDERER ANGLE (Intel(R) HD Graphics 620 Direct3D11 vs_5_0 ps_5_0)
1 „Gefällt mir“

Ich frage mich, ob es von der Bildschirmgröße abhängt, wobei verschiedenen Clients unterschiedliche Assets bereitgestellt werden.

Beim kurzen Blick auf den obigen Beitrag/das obige Bild über F12 habe ich zwei Assets sowie das Originalbild gefunden:

  • Originalbild (1416 x 946) /original/3X/e/2/e2c5f032e18fa374c0593af71cf25d3499826289.png, welches unverändert ist. Direkt-URL

  • Kleinere Version (1380 x 920) optimized/3X/e/2/e2c5f032e18fa374c0593af71cf25d3499826289_2_1380x920.png, die (fast) unsichtbare obere und untere Ränder aufweist. Direkt-URL

  • Noch kleinere Version (640x460) optimized/3X/e/2/e2c5f032e18fa374c0593af71cf25d3499826289_2_690x460.png, die keinen unteren Rand hat, aber linke, obere und rechte Ränder aufweist. Direkt-URL

Es gibt möglicherweise einige ImageMagick-Argumente, um den Skalierungsalgorithmus und den Umgang mit Pixeln an den Rändern anzupassen, obwohl jede Änderung natürlich andere Situationen verschlechtern könnte, während sie diese hier verbessert.

1 „Gefällt mir“

Ja, das ist auch meine Überlegung. Es ist ein Problem mit dem Skalierungsalgorithmus. Solange die Originalversion erhalten bleibt, sehe ich hier kein ernsthaftes Problem, also verschiebe ich es in die Feature-Anfragen.

4 „Gefällt mir“