Anzeige

Betragsbild unabhängig komprimieren...

Betragsbild unabhängig komprimieren... | PSD-Tutorials.de

Erstellt von Qrt, 23.11.2013.

  1. Qrt

    Qrt Noch nicht viel geschrieben

    Dabei seit:
    09.12.2006
    Beiträge:
    30
    Geschlecht:
    männlich
    Betragsbild unabhängig komprimieren...
    da die integrierte Komprimierung in Wordpress nicht die beste ist, habe ich diese in der function.php ausgeschaltet und die qualität auf 100% gesetzt.

    Code (Text):
    1.  
    2. ...
    3. add_filter('jpeg_quality', function($arg){return 100;});
    4. add_filter( 'wp_editor_set_quality', function($arg){return 100;} );
    5. ...
    6.  
    Bei dem Beitragsbild, welches man ja seperat bei dem erstellen eine Beitrages auswählen kann, möchte ich diese aber bestehen lassen. Im moment wird das Beitragsbild auch automatisch in der Größe verändert, mit:

    Code (Text):
    1.  
    2. ...
    3. add_image_size('grid',300 ,9999, true);
    4. ...
    5.  
    Nur möchte ich aber gleichzeitg neben der Größe auch die Qualität verändern. Stoße bei goolge leider immer nur auf Beiträge, die das image_size behandeln. wie z.B.
    http://www.studiograsshopper.ch/web-...cropping-demo/

    Bin leider kein php ass... aber es sollte ja möglich sein, "function($arg){return 100;}" auf 'grid' anzuwenden?!
     
    #1      
  2. Qrt

    Qrt Noch nicht viel geschrieben

    Dabei seit:
    09.12.2006
    Beiträge:
    30
    Geschlecht:
    männlich
    Betragsbild unabhängig komprimieren...
    Hier meine Lösung, die dank anderer zum laufen bekommen habe.
    index.php
    Code (Text):
    1.  
    2. ...
    3. <?php
    4.   if (has_post_thumbnail()) {
    5.       the_post_thumbnail(GIRD_IMAGE);
    6.   }
    7.   ?>
    8. ...
    9.  
    function.php
    Code (Text):
    1.  
    2. ...
    3. <?php
    4. add_theme_support('post-thumbnails');
    5. add_filter('jpeg_quality', function ($arg) {
    6.   return 100;
    7. });
    8. add_filter('wp_editor_set_quality', function ($arg) {
    9.   return 100;
    10. });
    11.  
    12. include TEMPLATEPATH . '/functions/init.php';
    13.  
    14. define('GIRD_IMAGE');
    15.  
    16. add_image_size(GIRD_IMAGE, 300, 9999);
    17.  
    18. add_action('added_post_meta', 'ad_update_jpeg_quality', 10, 4);
    19.  
    20. function ad_update_jpeg_quality($meta_id, $attach_id, $meta_key, $attach_meta) {
    21. if ($meta_key == '_wp_attachment_metadata') {
    22. $post = get_post($attach_id);
    23.  
    24.   if ($post->post_mime_type == 'image/jpeg' && is_array($attach_meta['sizes'])) {
    25.   $pathinfo = pathinfo($attach_meta['file']);
    26.   $uploads = wp_upload_dir();
    27.   $dir = $uploads['basedir'] . '/' . $pathinfo['dirname'];
    28.  
    29.   foreach ($attach_meta['sizes'] as $size => $value) {
    30.   $image = $dir . '/' . $value['file'];
    31.   $resource = imagecreatefromjpeg($image);
    32.  
    33.   if ($size == GIRD_IMAGE) {
    34.   imagejpeg($resource, $image, 90);
    35.   }
    36.  
    37.   imagedestroy($resource);
    38.   }
    39.   }
    40.   }
    41. }
    42. ...
    43.  
    Findet nun hier Anwendung: http://www.chriskuhrt.com/
    Das Theme ist noch nicht fertig, daher ist noch einiges im Header und noch nicht in der functions.php
     
    #2      
x
×
×