wenn ich ein optimiertes Bild hochlade habe ich des öfteren den Effekt, dass die von mir hochgeladene Originaldatei kleiner ist (kb nicht px) als die von WP automatisch generierten „kleineren“ (px) Bilder.
Das lässt sich leicht reproduzieren: Du lädst ein JPEG-Image mit Qualitätsstufe 50% hoch und erhältst skalierte Bilder mit Qualitätsstufe 82%, die aufgrund er geringeren Kompressionsstufe automatisch größer sind.
Warum ist das so? Weil die Bilder, die du hochlädst, pixelweise eingelesen und daraus neue Bilddateien erstellt werden.
WordPress verwendet grundsätzlich bei der Erstellung der neuen Bilddateien eine Qualitätsstufe von 82%, es sei denn du änderst den Wert mit einem Filter, den du in der functions.php
deine Child-Theme oder mit dem Plugin Code Snippets hinzufügst:
// jpg in Qualitätsstufe 42% ablegen
add_filter('jpeg_quality', function($arg){return 42;});
gibt es eine Lösung zu der Thematik der automatisch erzeugten Bilder ?
Für die meisten Anwender:innen gibt es keine „Thematik der automatisch erzeugten Bilder“ und für ein nicht existentes Problem gibt es auch keine Lösung. Wenn du dich aber an der Kompressionsrate störst … siehe oben.
wenn nein, ist es möglich bei srcset eine zusätzliche Abfrage einzubauen, die überprüft ob die auszuliefernde Bildgröße kleiner oder größer (kb) der Original-Datei ist?
Nein. Mit srcset
wird dem Browser mitgeteilt, welche Bilder für eine Darstellung zur Verfügung stehen, damit für die vorhandene Auflösung das optimale Bild zur Verfügung gestellt wird. (Das wird in diesem Beitrag viel besser und ausführlicher beschrieben: Neu in WordPress 4.4 Responsive Images mit srcset und sizes).
Wie Kirsten in ihrem Beitrag schreibt, wird das srcset
anhand der Bildgrößen ausgegeben, in denen das Bild in der Mediathek abgelegt sind. Du müsstest also diese Funktion erweitern/umschreiben, um einen Abgleich der Bildgrößen vorzunehmen und in jedem Einzelfall zu entscheiden, welches Bild verwendet werden soll, was vermutlich die Performance beeinträchtigen würde.
Mir ist zumindest bisher kein Plugin bekannt, dass zu diesem (für die meisten Anwender:innen vermutlich nicht einmal bewussten) Thema eine Lösung bietet.
Aber vielleicht programmierst du ja was eigenes? Das wäre doch toll.