Browser können die Größe von Bildern basierend auf den von Ihnen angegebenen Attributen ändern.
Allerdings stelle ich mir vor, dass die meisten Größenänderungen serverseitig vorgenommen werden, vorzugsweise vor der Anfrage. Mit der Geschwindigkeit der aktuellen CPUs und aus Gründen der Einfachheit und möglicherweise Bandbreiteneinsparung, ist es jemals akzeptabel, Bildgrößenanpassung an den Browser zu lassen?
Ein Anwendungsfall ist, wenn Sie ein Thumbnail und ein Bild in voller Größe oder verschiedene Größen zum Anzeigen haben. In diesem Fall ist es in Ordnung, ein Bild zu verwenden und die Größe zu ändern. Beachten Sie, dass moderne Browser jetzt bikubisches Resampling verwenden, so dass Sie bei der Größenanpassung keine jaggy, plumpen Interpolationen mit vielen Artefakten sehen, was früher ein zwingender Grund dafür war, dass der Browser das Bild nicht skalieren konnte.
Ja, Browser können die Größe von Bildern basierend auf den Attributen Breite und Höhe ändern. Sie haben jedoch keine Kontrolle über die Qualität des Bildes in der Größe. Wenn Ihnen das überhaupt wichtig ist, sollte es serverseitig gemacht werden.
Beachten Sie auch, dass das Bild in der Größe zwar kleiner als das Original ist, aber immer noch die gleiche Dateigröße wie das Bild in voller Größe hat. Daher, wenn Sie es dem Browser überlassen, eine 2MB-Datei 100px mal 100px zu machen, muss der Benutzer immer noch zuerst alle 2MB der Datei herunterladen.
Trotz der Fortschritte, die wir in Bezug auf höhere Kundenbandbreite gemacht haben, halte ich es immer noch nicht für akzeptabel, einem Browser zu erlauben, die Größe des Bildes zu ändern. In Wirklichkeit variiert die Bandbreite immer noch sehr stark, je nachdem, welcher Servicelevel ein Benutzer hat.
Sie müssen auch über mögliche Anwendungsfälle nachdenken. Stellen Sie sich eine Liste mit Nachrichtengeschichten vor, die jeweils ein eigenes Thumbnail haben, das auf dem primären Bild des zugrunde liegenden Artikels basiert. Nun sagen wir, dass wir 20 davon in einer seitenweisen Ansicht zeigen.
Selbst diejenigen mit heftigen Bandbreiten-Verbindungen werden diese (um der Argumentation willen) bemerken, dass 2MB Bilder reinkommen. Dies setzt voraus, dass derjenige, der Inhalte hochlädt, eine gewisse Zurückhaltung übt, wenn es um die Bildgröße geht. Bilder können eine Tonne größer werden, wenn sie zum Beispiel direkt von einem Scan kommen.
Wenn sich Ihre Website im öffentlichen Internet befindet, können Sie fast garantieren, dass einige Ihrer Benutzer über unzureichende Bandbreite verfügen. Beschwerden werden kommen, und es wird sich letztendlich schlecht auf dich auswirken.
Wir haben nicht einmal Sachen wie Seitenverhältnis behandelt. Was passiert, wenn ein Client versucht, ein langes und dünnes Bild in einen für ein eckigen Behälter entworfenen Behälter zu legen? Die Seite sieht unprofessionell aus, das ist was.
Was ist mit den Kosten für das Senden dieser großen Dateien an n Clients? Die Bandbreite ist nicht frei.
Es ist also niemals akzeptabel, den Browser dazu zu bringen, die Größe von Bildern zu ändern, insbesondere wenn Sie in eine serverseitige Bibliothek für die Bildbearbeitung investieren oder eine solche entwickeln können. Dadurch werden Größenanpassungen, Ernten usw. gehandhabt. Außerdem können Sie damit allen Benutzern die bestmögliche Erfahrung bieten. Nicht jeder hat 50MB in ihre Räumlichkeiten.
Ich bin auf eine Website gestoßen, die Stock-Fotos gekauft und die 2Mpx-Originalbilder auf ihrer Webseite mit width
und height
-Direktiven von ~ 150px Miniaturbildgröße eingebettet hat. Ich habe es nur bemerkt, weil die Seite ungefähr eine Minute zum Laden benötigt hat.
Andererseits konnte ich meinen Browser um 300% vergrößern und die Bilder blieben klar (und erreichten immer noch nicht ihre native Auflösung). Ich vermute, das war kein Design-Ziel.
Die Größenänderung, die im Browser geschieht, ist einfach die der Anzeige - das vollständige Bild wird heruntergeladen und einfach in der erforderlichen Größe angezeigt. Wie sie aussehen, wird durch einige Algorithmen zur Bildgrößenänderung bestimmt, die von den Browserschreibern geschrieben wurden - Sie haben keine Kontrolle über die Qualität.
Es ist eine Frage der Bandbreite und möglicherweise der CPU- und Speicherauslastung auf dem Client.
Wie Sie vermuten, werden die meisten Bilder vorher sortiert, lange bevor eine Anfrage gestellt wird. Selbst mit schnellen CPUs würden Sie dies nicht im laufenden Betrieb machen wollen.
Kleinere Bilder bedeuten auch, dass Benutzer, die kein Breitband haben, Ihre Website genießen können, ohne auf die großen Bilder warten zu müssen.
Ich persönlich mache Bildgrößenanpassungen (Thumbnails) auf dem Server und behalte sie in einem separaten Ordner. Dies hilft mir, die Bandbreite niedrig zu halten.
Wenn Sie sie nicht auf Ihrem Server speichern und nur auf Anfrage (online) tun möchten, können Sie coole Skripte wie z. TimThumb ist: Ссылка
Alles hängt von der Auslastung Ihres Servers und der Anzahl der Bilder pro Seite ab (oder natürlich vom Datenverkehr) Wenn Sie sie auf Ihrem Server speichern möchten, können Sie http: // phpthumb .sourceforge.net / oder ImageMagick verwenden (ich verwende es für Thumbnails + Wasserzeichen)