Wie vermeide ich jegliche Rekompression bei Bildern?

Wir sind ein Fotoforum.

Wir möchten das Hochladen von Bildern auf 1,2 MB begrenzen, aber jegliche Art von Neu-Komprimierung vermeiden, wenn das Bild diese Grenze einhält.

Wir würden es vorziehen, wenn Bilder größer sind, den Benutzer zu warnen und das Hochladen zu verhindern. Doch ich habe bisher nicht herausgefunden, wie das geht.

Wenn jemand ein etwas schwereres Bild hochlädt, skaliert das System es aggressiv herunter und komprimiert es neu. Benutzer beschweren sich, dass das Forum ihre Fotos ruinieren würde (weniger Details, Farbverläufe usw.).

Mit den zusätzlichen Optionen für den Bildkomponierer (kürzlich hinzugefügt) hat sich die Situation verschlimmert. Selbst Bilder, die weniger als 1,2 MB wiegen, werden neu komprimiert.

Wir möchten jegliche Eingriffe in die Bilder der Benutzer vermeiden (es liegt in deren Verantwortung, das Bild entsprechend ihren Wünschen anzupassen, unter Einhaltung der Gewichts- und Größenbeschränkungen). Zumindest bei Bildern, die die festgelegten Grenzen einhalten.

Wie kann man die Optionen am besten konfigurieren, um dieses Verhalten zu erreichen?

Ich denke, wir können eine Neu-Komprimierung bei Bildern, die die Grenzen nicht einhalten, nicht vermeiden, aber wir möchten sie zumindest bei Bildern, die die Grenzen einhalten, verhindern und die Komprimierung derjenigen, die diese überschreiten, kontrollieren.

Das Forum neigt dazu, sie zu stark zu komprimieren und Ergebnisse von 200 KB und 900 Pixeln auf der langen Seite zu liefern.

Ich denke, Sie benötigen ein Plugin, um dieses Verhalten zu überschreiben.

Oder Sie laden die Dateien woanders hoch und verlinken darauf.

Aber ich glaube, es gibt ein Plugin oder eine Theme-Komponente, die das Hochladen von Bildern an einen anderen Ort (z. B. MinIO) ermöglicht. Etwas in dieser Richtung könnte das sein, was Sie suchen.

Schauen Sie sich diese Beispiele an: Azure Blob Storage Plugin und Video Upload to YouTube and Vimeo using Theme Component. Sie müssten entscheiden, wo Sie die Bilder hosten möchten, und eine ähnliche Theme-Komponente erstellen.

Hmm… wir möchten die Bilder auf unserem Server speichern, da wir keine Kontrolle über andere Seiten haben, auf denen Bilder verloren gehen können.

Ich gehe davon aus, dass wir die Bildverarbeitung nicht vollständig deaktivieren können.

Uns reicht es, wenn das System Bilder, die die Grenzwerte einhalten (1,2 MB Dateigröße und 2048 Pixel auf der längeren Seite), nicht verändert, und wenn wir die Nachkomprimierung für Bilder, die diese Grenzen überschreiten, etwas anpassen können.

Ich denke, ich habe das erste Ziel erreicht: Ich habe die Dateigröße auf 1230 KB begrenzt und den Schwellenwert im Bildkomponierer auf denselben Wert in Bytes gesetzt.

Jetzt scheint es, dass Bilder, die kleiner als diese Größe sind, nicht nachkomprimiert werden (so wie es vor einigen Versionen funktionierte; der Bildkomponierer wurde offenbar erst kürzlich eingeführt).

Aber wenn man versucht, ein Bild von beispielsweise 2100 Pixeln und 3 MB hochzuladen, erhält man seltsame Ergebnisse.
Es wird manchmal auf etwa 900 Pixel und 200 KB verkleinert, manchmal auf 1024 Pixel und 500 KB…
Das Bild verliert dabei völlig an Detailtreue und Farbabstimmung.

Ich habe die Grenzwerte des Bildkomponierers auf 1920 Pixel und die JPEG-Komprimierungsqualität auf 90 eingestellt. Daher hätte ich erwartet, dass Bilder, die diese Grenzen überschreiten, auf diese Größe nachkomprimiert werden (ich habe mit Bildern getestet, die sich bei einer Qualität von 90 und einer Breite von 1920 Pixeln problemlos innerhalb der 1,2-MB-Grenze komprimieren lassen).
Das System komprimiert sie jedoch weiterhin viel zu stark.

Haben Sie die Website-Einstellungen bezüglich maximaler Bildgröße, Breite und Höhe bearbeitet? Das sollte Ihre erste Anlaufstelle sein.

Entschuldigung für die Verzögerung. Ich habe die Antwort nicht bemerkt.

Ja, wie ich bereits erklärt habe, haben wir ein Limit von 1,2 MB und eine Auflösungsgrenze von 4 MP festgelegt.

Wenn das Bild dieses Limit nicht einhält, komprimiert das System es stark, manchmal mit verrückten Ergebnissen wie 600 Pixel oder 1000 Pixel Breite für ein Bild, das mit 1920 oder 2048 Pixel Breite hochgeladen wurde.
Der Qualitätsverlust ist für ein geschultes Auge mehr als offensichtlich: fehlende Texturen, Halos, schlechte Farbkorrektur…

Mit den jüngsten Upgrades werden selbst Bilder, die die Limits einhalten, “verbessert” und mit Qualitätsverlusten komprimiert.

Wir haben die “Original-JPG-Qualität neu komprimieren” angepasst und auf 100 % gesetzt, in der Hoffnung, eine Neukomprimierung zu verhindern. Es scheint zu funktionieren, aber ich bin mir nicht sicher, ob es trotzdem zu einer Neukomprimierung kommt (aber zumindest gibt es keinen sichtbaren Qualitätsverlust).

Sie müssen den composer media optimization image bytes optimization threshold anpassen, um die clientseitige Größenoptimierung von Bildern unterhalb dieser Größe zu deaktivieren. Der Standardwert gilt für Bilder über 500 KB, daher möchten Sie diese Einstellung auf 1,2 MB erhöhen.

Sollten wir die Beschreibung dieser Website-Einstellungen verbessern, um klarer zu machen, wie die Dinge funktionieren? :thinking:

Ich denke schon, aber das Schreiben von Texten ist nicht meine Stärke.

Derzeit ist es

Minimale Bilddateigröße, um die clientseitige Optimierung auszulösen

Vielleicht

Minimale Bilddateigröße, um die Größenänderung / Komprimierung vor dem Hochladen auszulösen

?

Vielleicht

Bilder, die größer als diese sind, werden vom Client skaliert und komprimiert.