Wie kann ich ein Bild in 100 % Größe im Web hosten und ein scharfes Bild beibehalten? Führt der Webbrowser Downsampling meiner Bilder durch?
Wenn ich ein Bild mit 100 % Größe (z. B. 1000 Pixel breit) erstelle und es natürlich auf einer Website anzeige, ist das Bild etwas verschwommen/verpixelt. Wenn ich jedoch dasselbe Bild mit 200 % (2000 Pixel breit) erstelle und mit 50 % anzeige, ist das Bild scharf. Das Endergebnis ist, dass beide Bilder 1000 Pixel breit sind, aber ein Bild verschwommen und das andere scharf ist. Wir haben mit Auflösung und dpi experimentiert und die Ergebnisse bleiben gleich.
Ich brauche das Bild zu 100%, um 1000px breit zu sein.
Dies ist das Bild, das mit 100 % erstellt und im Browser mit 100 % angezeigt wird
Dies ist das Bild, wenn ich es mit 200 % erstelle und es im Browser mit 50 % ansehe
Basierend auf den Kommentaren scheint das Problem darin zu bestehen, dass Sie diese auf einem Retina-Bildschirm anzeigen.
Apples Retina-Bildschirme haben die tatsächlichen Pixel des Bildschirms von den Pixelabmessungen des Bildes entkoppelt.
Vor Retina-Bildschirmen nahm ein in einen Webbrowser geladenes Bild mit einer Größe von 100 x 100 Pixel genau 100 x 100 Bildschirmpixel ein.
Retina-Bildschirme (was nur Apples Begriff für superhochauflösende Bildschirme ist) hatten ein Problem, bei dem, wenn sie Bilder und Text in „tatsächlicher Pixelgröße“ rendern würden, alles viel zu klein wäre, um lesbar zu sein. Daher versuchen Retina-Bildschirme, Inhalte in der gleichen Größe wie Nicht-Retina-Bildschirme wiederzugeben, verwenden dafür aber mehr Pixel.
Nehmen wir zur einfachen Mathematik an, ein Retina-Bildschirm hat die doppelte Auflösung eines Standardbildschirms.
Wenn Sie ein 100x100-Bild erstellen und es auf einem normalen Bildschirm anzeigen, sieht es scharf aus, da jedes Bildpixel ein Bildschirmpixel belegt.
Auf einem Retina-Bildschirm nimmt dieses 100 x 100-Bild jedoch 200 x 200 Bildschirmpixel ein. Der Browser übersetzt die 100 virtuellen Pixel in 200 reale Pixel. Dazu muss es alle fehlenden Pixel durch Interpolation ausgleichen, was die Unschärfe verursacht, die Sie sehen.
Die Lösung (in diesem Beispiel) besteht darin, Ihre Bilder auf 200 x 200 tatsächliche Pixel zu bringen und sie dann in Ihrem HTML oder Code so anzupassen, dass sie mit 100 x 100 Pixeln gerendert werden.
Auf einem normalen Bildschirm sieht es genauso aus. Die zusätzlichen Pixel werden einfach weggeworfen. Aber auf einem Retina-Bildschirm sieht es jetzt scharf aus, da jedes Bildpixel jetzt ein Bildschirmpixel verwendet.
Ich habe das gleiche Problem und habe festgestellt, dass die Ursache darin besteht, dass ich meine Anzeige auf 125% skaliert eingestellt habe.
In Windows 10 gibt es über „Anzeigeauflösung“ ein Dropdown-Feld für „Ändern der Größe von Text, Apps und anderen Elementen“. Wenn ich es auf 125 % einstelle, sieht das PNG im Photo Viewer gut aus, aber im Browser verschwommen, obwohl das PNG NICHT in HTML skaliert ist.
Wenn ich die Anzeigeskalierung auf 100 % zurückschalte, sieht dasselbe PNG im selben HTML-Dokument im Browser gut aus.
Sie können eine CSS-Regel anwenden, die 100 %-Bilder bei Größenänderung noch schärfer rendert. Wenn Sie beispielsweise ein Bild mit einer natürlichen Breite von 1000 Pixeln haben und die Größe auf 800 Pixel geändert wird, kann der Browser das Bild mit einem leichten Weichzeichnungs-/Anti-Aliasing-Effekt rendern.
CSS
.sharpen {
image-rendering: -moz-crisp-edges;
image-rendering: -o-crisp-edges;
image-rendering: -webkit-optimize-contrast;
-ms-interpolation-mode: nearest-neighbor;
}
In diesem Codebeispiel habe ich Ihr 100%-Bild genommen und es mit der neuen CSS-Regel in der Größe angepasst: https://codepen.io/doppl3r/pen/YLdQxx?editors=1100
Der rechte Bildtext sollte schärfer erscheinen. Um dies zu beweisen, ändern Sie das max-width
von 400px
in150px
Billy Kerr
Fahrerpizza
Webster
Fahrerpizza
Benutzer8356
Scott
Fahrerpizza
Billy Kerr
Billy Kerr
DA01
Fahrerpizza
DA01
Fahrerpizza
Fahrerpizza
DA01