it-swarm.com.de

Komprimiert WordPress beim Hochladen von JPEGs das Originalbild?

Ich versuche zu bestimmen, wie mein Bildverarbeitungsworkflow aussehen soll. Ich weiß, dass WordPress die Größe von Bildern beim Hochladen automatisch ändert und auf verschiedene Größen komprimiert. Ich bin gespannt, ob das Originalbild komprimiert wird.

Da es die kleineren Bilder komprimiert (wie es sollte), möchte ich kein bereits komprimiertes JPEG hochladen, um es auf die kleineren Größen zu komprimieren. Wenn das Original jedoch nicht komprimiert wird, ist die Bilddatei viel größer als erforderlich, wenn jemand das Original ansieht.

Ich denke, der ideale Workflow wäre das Hochladen von 100 JPEG in WordPress, die Größenänderung und Komprimierung aller kleineren Bilder unter Verwendung des Bildes in voller Qualität und das anschließende Komprimieren des Originals. Weiß jemand, ob dies möglich ist (oder ob dies bereits getan wird)?

2
Dominic P

Dies ist alles, was ich durch Lesen des Quellcodes für die Funktion wp_handle_upload in wp-admin/includes/file.php erhalten kann.

  • WordPress behält die ursprünglich hochgeladene Datei (normalerweise) bei - siehe unten ...
  • WordPress wendet JPEG-Komprimierung auf Bilder in der Größe ändern an, wenn die Quelle JPEG ist.
  • Die Standard-JPEG-Komprimierungsstufe ist 90.
  • Sie können die JPEG-Komprimierungsstufe anpassen, indem Sie einen jpeg_quality-Filter hinzufügen:

    add_filter('jpeg_quality', 'ex46632_jpeg_quality');
    function ex46632_jpeg_quality($quality) {
        $quality = 95; // An example of setting the quality to a higher value.
        return $quality;
    }
    
  • Sie können erzwingen, dass die Größe eines hochgeladenen Bildes auf den in Max Width angegebenen Max Height/Settings > Media > Large size geändert wird, indem Sie einen wp_upload_resize-Filter hinzufügen:

    add_filter('wp_upload_resize', 'ex46632_upload_resize');
    function ex46632_upload_resize($resize) {
        $resize = true; // Force resizing to the max sizes.
        return $resize;
    }
    
    • Wenn bei der Erstellung des verkleinerten Bildes Fehler auftreten, wird stattdessen die ursprünglich hochgeladene Datei beibehalten.
    • Wenn die Größenänderung erfolgreich ist, werden die ursprünglich hochgeladenen Medien verworfen.

Beachten Sie, dass die Codebeispiele hier nicht getestet wurden und nur als Referenz dienen.

Update Wie bereits erwähnt, wurde die Behandlung der Größenänderung in der Funktion wp_handle_upload geändert. Diese Änderung behebt einen Fehler. Um den Fehler zu beheben, wurde der Größenänderungscode tatsächlich entfernt, sodass die Größe der Bilder beim Hochladen nicht geändert wird und die ursprüngliche Größe beibehalten wird. Zu Ihrer Information explizite Codeänderung und Fehlerticket . Es sollte beachtet werden, dass diese Änderung noch "Warten auf Überprüfung auf 3.4" ist und noch nicht veröffentlicht wurde.

Beachten Sie auch, dass das Ticket den Kommentar "Bilder von Plupload ändern lassen (vor dem Hochladen)" enthält. Vielleicht gibt es jetzt einen anderen Ort, an dem Sie die Größe von Bildern überprüfen können, da Plupload enthalten ist.

5
Dean Taylor