Ändern Sie die Größe eines Fotos auf 1920 Pixel Breite
Wählen Sie „Breite festlegen“, geben Sie 1920 ein, und die Höhe wird aus den ursprünglichen Proportionen berechnet – ein Foto mit 4000 x 3000 wird zu 1920 x 1440. Es wird nichts beschnitten, da sich nur der Maßstab ändert. Ein Foto, das bereits schmaler als 1920 ist, bleibt in Ruhe, es sei denn, Sie deaktivieren „Nie größer machen“, da beim Hochskalieren eines kleinen Bildes Pixel hinzugefügt werden, ohne dass Details hinzugefügt werden.
PNG, JPEG, WebP oder GIF. Die Datei wird auf dieser Registerkarte gelesen und es gibt keinen Server, an den sie gesendet werden kann.
1920 ist die Breite eines gewöhnlichen Desktop-Bildschirms und somit die praktische Obergrenze für ein randloses Banner.
Die Höhe folgt den ursprünglichen Proportionen. Um beide Zahlen zu erzwingen, verwenden Sie den exakten Größenmodus und akzeptieren Sie die Verzerrung.
Das Vergrößern wird standardmäßig abgelehnt: Ein auf 1920 gestrecktes 900-Pixel-Foto ist unschärfer und nicht detaillierter.
So funktioniert es
So wird es gemacht
- Lesen Sie die ersten Bytes der ausgewählten Datei und ermitteln Sie allein daraus, ob es sich um ein PNG, ein JPEG, ein WebP oder ein GIF handelt und wie viele Pixel sie enthalten soll. Der deklarierte Typ der Datei wird nicht herangezogen, da Safari einen HEIC ohne Typ meldet.
- Lehnen Sie hier alles über 80 Megapixel ab, bevor Sie ein Byte zuweisen. Ein dekodiertes Bild kostet unabhängig von der Dateigröße vier Bytes pro Pixel. Ein 100-Megapixel-Panorama benötigt also 400 MB Speicher, den ein Browser-Tab nicht hat.
- Dekodieren Sie das Bild mit dem browsereigenen Decoder und fragen Sie dabei explizit nach der anzuwendenden EXIF-Ausrichtung, sodass ein im Hochformat aufgenommenes Foto so gemessen wird, wie es aussieht, und nicht so, wie der Sensor es aufgenommen hat.
- Berechnen Sie einen Skalierungsfaktor aus den dekodierten Abmessungen und multiplizieren Sie beide Seiten damit, wobei Sie jeweils auf ein ganzes Pixel runden. Nur der exakte Größenmodus verwendet zwei Faktoren, und zwar nur, weil er angewiesen wurde, die Proportionen zu ignorieren.
- Halbieren Sie das Bild wiederholt, bis eine weitere Halbierung überschießt, und zeichnen Sie dann den letzten Schritt direkt zum Ziel. Ein Browser führt ein Resampling mit einem kleinen Kernel durch, sodass bei einer einzigen 10-fachen Reduzierung etwa ein Pixel von zehn abgetastet und der Rest verworfen wird.
- Füllen Sie die Leinwand zuerst mit der matten Farbe, wenn die Ausgabe JPEG ist, da JPEG keinen Alphakanal hat und aus einem transparenten Pixel etwas werden muss.
- Kodieren Sie die endgültige Leinwand als PNG oder JPEG, lesen Sie den vom Browser als tatsächlich geschriebenen Typ zurück und bieten Sie ihn als Download an, benannt nach dem Original mit angehängten neuen Abmessungen.
Wovon es ausgeht
- Beide Seiten werden um einen Faktor skaliert und anschließend auf ganze Pixel gerundet, sodass sich die Proportionen um bis zu einem halben Pixel verschieben können. Bei einem 4000-Pixel-Foto entspricht das einer Änderung von etwa 0,01 % und ist die einzige Möglichkeit, eine viel größere Abweichung durch die unabhängige Abrundung der beiden Seiten zu vermeiden.
- EXIF-Ausrichtung wird angewendet. Ein Foto, dessen Dateikopf „4000 x 3000“ lautet, das aber ein Vierteldrehungs-Tag trägt, wird als 3000 x 4000 behandelt, weil es das ist, was Sie in Ihrem Fotobetrachter sehen und mit dem alle darunter liegenden Dimensionen übereinstimmen müssen.
- Der Schalter „Niemals größer machen“ gilt für die Modi „Box“, „Breite“ und „Höhe“, die ein Ziel beschreiben, in das das Bild passen muss. Ein Prozentsatz oder eine exakte Größe wird wörtlich genommen, sodass sich 200 % vergrößern.
- Von einem animierten GIF oder WebP bleibt nur der erste Frame erhalten. Eine Leinwand enthält einen Frame, und für die erneute Zusammenstellung einer Animation wäre ein Encoder erforderlich, den der Browser nicht bereitstellt.
- Ein eingebettetes Farbprofil wird normalerweise gelöscht. Die meisten Engines konvertieren ein Foto mit großem Farbraum in sRGB, wenn es auf eine Leinwand gezeichnet wird, sodass ein Adobe RGB-Bild etwas flacher als das Original aussehen kann.
- Ein JPEG wird dekodiert und neu kodiert, niemals kopiert. Selbst bei 100 % Qualität gehen dabei etwas mehr Details verloren, weshalb bei „Originalformat beibehalten“ ein WebP oder ein GIF als verlustfreies PNG und nicht als JPEG geschrieben wird.
- KB bedeutet 1.024 Bytes und MB bedeutet 1.024 KB, was ein Desktop-Dateimanager anzeigt und daher mit dem Wert verglichen wird.
Fragen
Welche Höhe wird ein 1920 breites Bild haben?
Was auch immer die ursprünglichen Proportionen behält. Ein Telefonfoto mit 4032 × 3024 wird zu 1920 × 1440; Ein 4000 × 2250-Screenshot wird zu 1920 × 1080. Das Seitenverhältnis wird nie verändert, denn das Dehnen eines Fotos, um eine Zielhöhe zu erreichen, ist etwas, das Sie bemerken würden, aber nie wollen.
Ist 1920 breit genug für einen Vollbildhintergrund?
Genau auf einem 1080p-Display. Auf einem 4K-Monitor oder einem modernen Telefon sieht es bei 2- oder 3-facher Pixeldichte sichtbar weich aus, wenn es in voller Breite angezeigt wird. 1920 ist die richtige Größe für ein Inhaltsbild innerhalb einer Seite und ungefähr die Hälfte der richtigen Größe für einen Helden auf einem Bildschirm mit hoher Dichte.
Quellen
Die vollständige Methode, das Rechenbeispiel und alle Annahmen hinter diesem Ergebnis stehen auf Bild-Resizer.