Changeset 117632 in spip-zone


Ignore:
Timestamp:
Aug 25, 2019, 1:05:51 PM (6 months ago)
Author:
arno@…
Message:

Désactiver la création de WebP si image source est en PNG: problème de transparence.

Location:
_plugins_/image_responsive
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/image_responsive/image_responsive_fonctions.php

    r117557 r117632  
    234234                                        else  $fichiers[$i][2] = retour_image_responsive($source_tmp, "$t$v", 2, 0, "file");
    235235                                       
    236                                         if (_IMAGE_WEBP) {
     236                                        if (_IMAGE_WEBP && $mime!="image/png") {
    237237                                                $fichiers_webp[$i][1] = retour_image_responsive($source_tmp, "$t$v", 1, 0, "file", "webp");
    238238                                                if (_IMAGE_RESPONSIVE_RETINA_HQ) $fichiers_webp[$i][2] = retour_image_responsive($source_tmp, "$t2$v", 1, 0, "file", "webp");
     
    245245                                                else $fichiers[$i][2] = preg_replace(",\.(jpg|png|gif)$,", "-resp$t$v-2.$1?$timestamp", $source_tmp);
    246246
    247                                                 if (_IMAGE_WEBP) {
     247                                                if (_IMAGE_WEBP && $mime!="image/png") {
    248248                                                        $fichiers_webp[$i][1] = preg_replace(",\.(jpg|png|gif)$,", "-resp$t$v.$1.webp?$timestamp", $source_tmp);
    249249                                                        if (_IMAGE_RESPONSIVE_RETINA_HQ) $fichiers_webp[$i][2] = preg_replace(",\.(jpg|png|gif)$,", "-resp$t2$v.$1.webp?$timestamp", $source_tmp);
     
    255255                                                else $fichiers[$i][2] = "index.php?action=image_responsive&img=$source_tmp&taille=$t$v&dpr=2&$timestamp";
    256256
    257                                                 if (_IMAGE_WEBP) {
     257                                                if (_IMAGE_WEBP && $mime!="image/png") {
    258258                                                        $fichiers_webp[$i][1] = "index.php?action=image_responsive&img=$source_tmp&taille=$t$v&format=webp&$timestamp&";
    259259                                                        if (_IMAGE_RESPONSIVE_RETINA_HQ) $fichiers_webp[$i][2] = "index.php?action=image_responsive&img=$source_tmp&taille=$t2$v&format=webp&$timestamp";
     
    268268                                $t = $tailles[0];
    269269                                if ($t != 0 ) {
    270                                                 if (_IMAGE_WEBP) {
     270                                                if (_IMAGE_WEBP && $mime!="image/png") {
    271271                                                        $set = $fichiers[$i][1] . " 1x";
    272272                                                        $set .= "," . $fichiers[$i][2] . " 2x";
     
    300300                                                $set = $fichiers[$i][1] . " 1x";
    301301                                                $set .= "," . $fichiers[$i][2] . " 2x";
    302                                                 if (_IMAGE_WEBP) {
     302                                                if (_IMAGE_WEBP && $mime!="image/png") {
    303303                                                        $set_webp = $fichiers_webp[$i][1] . " 1x";
    304304                                                        $setset_webp .= "," . $fichiers_webp[$i][2] . " 2x";
     
    308308                                                        $insm = " media='$m'";
    309309
    310                                                         if (_IMAGE_WEBP) {
     310                                                        if (_IMAGE_WEBP && $mime!="image/png") {
    311311                                                                $sources .= "<source$insm srcset='$set_webp' type='image/webp'>";
    312312                                                        }
     
    316316                                                       
    317317                                                } else {
    318                                                         if (_IMAGE_WEBP) {
     318                                                        if (_IMAGE_WEBP && $mime!="image/png") {
    319319                                                                $sources .= "<source srcset='$set_webp' type='image/webp'>";
    320320                                                                $sources .= "<source srcset='$set' type='$mime'>";
     
    338338                                                $autorisees[$t][1] = $fichiers[$i][1];
    339339                                                $autorisees[$t][2] = $fichiers[$i][2];
    340                                                 if (_IMAGE_WEBP) {
     340                                                if (_IMAGE_WEBP && $mime!="image/png") {
    341341                                                        $autorisees_webp[$t][1] = $fichiers_webp[$i][1];
    342342                                                        $autorisees_webp[$t][2] = $fichiers_webp[$i][2];
     
    354354                        $autorisees = json_encode($autorisees);
    355355                        $img = inserer_attribut($img, "data-autorisees", $autorisees);
    356                         if (_IMAGE_WEBP) {
     356                        if (_IMAGE_WEBP && $mime!="image/png") {
    357357                                $autorisees_webp = json_encode($autorisees_webp);
    358358                                $img = inserer_attribut($img, "data-autorisees_webp", $autorisees_webp);
     
    676676                                        $fichiers[$t_italien]["i"][1] = retour_image_responsive($s_italien, "$t_italien", 1, 0, "file");
    677677                                        $fichiers[$t_italien]["i"][2] = retour_image_responsive($s_italien, "$t_italien", 2, 0, "file");
    678                                         if (_IMAGE_WEBP) {
     678                                        if (_IMAGE_WEBP && $mime!="image/png") {
    679679                                                $fichiers_webp[$t_italien]["i"][1] = retour_image_responsive($s_italien, "$t_italien", 1, 0, "file", "webp");
    680680                                                $fichiers_webp[$t_italien]["i"][2] = retour_image_responsive($s_italien, "$t_italien", 2, 0, "file", "webp");
     
    684684                                                $fichiers[$t_italien]["i"][1] = preg_replace(",\.(jpg|png|gif)$,", "-resp$t_italien.$1", $s_italien) . "?$mtime";
    685685                                                $fichiers[$t_italien]["i"][2] = preg_replace(",\.(jpg|png|gif)$,", "-resp$t_italien-2.$1", $s_italien) . "?$mtime";
    686                                                 if (_IMAGE_WEBP) {
     686                                                if (_IMAGE_WEBP && $mime!="image/png") {
    687687                                                        $fichiers_webp[$t_italien]["i"][1] = preg_replace(",\.(jpg|png|gif)$,", "-resp$t_italien.$1.webp", $s_italien) . "?$mtime";
    688688                                                        $fichiers_webp[$t_italien]["i"][2] = preg_replace(",\.(jpg|png|gif)$,", "-resp$t_italien-2.$1.webp", $s_italien) . "?$mtime";
     
    691691                                                $fichiers[$t_italien]["i"][1] = "index.php?action=image_responsive&amp;img=$s_italien&amp;taille=$t_italien&mtime=$mtime";
    692692                                                $fichiers[$t_italien]["i"][2] = "index.php?action=image_responsive&amp;img=$s_italien&amp;taille=$t_italien&amp;dpr=2&mtime=$mtime";
    693                                                 if (_IMAGE_WEBP) {
     693                                                if (_IMAGE_WEBP && $mime!="image/png") {
    694694                                                        $fichiers_webp[$t_italien]["i"][1] = "index.php?action=image_responsive&amp;img=$s_italien&amp;taille=$t_italien&amp;format=web&mtime=$mtime";
    695695                                                        $fichiers_webp[$t_italien]["i"][2] = "index.php?action=image_responsive&amp;img=$s_italien&amp;taille=$t_italien&amp;dpr=2&amp;format=web&mtime=$mtime";
     
    702702                                        $fichiers[$t_portrait]["p"][1] = retour_image_responsive($s_portrait, "$t_portrait", 1, 0, "file");
    703703                                        $fichiers[$t_portrait]["p"][2] = retour_image_responsive($s_portrait, "$t_portrait", 2, 0, "file");
    704                                         if (_IMAGE_WEBP) {
     704                                        if (_IMAGE_WEBP && $mime!="image/png") {
    705705                                                $fichiers_webp[$t_italien]["p"][1] = retour_image_responsive($s_italien, "$t_portrait", 1, 0, "file", "webp");
    706706                                                $fichiers_webp[$t_italien]["p"][2] = retour_image_responsive($s_italien, "$t_portrait", 2, 0, "file", "webp");
     
    710710                                                $fichiers[$t_portrait]["p"][1] = preg_replace(",\.(jpg|png|gif)$,", "-resp$t_portrait.$1", $s_portrait) . "?$mtime";
    711711                                                $fichiers[$t_portrait]["p"][2] = preg_replace(",\.(jpg|png|gif)$,", "-resp$t_portrait-2.$1", $s_portrait) . "?$mtime";
    712                                                 if (_IMAGE_WEBP) {
     712                                                if (_IMAGE_WEBP && $mime!="image/png") {
    713713                                                        $fichiers_webp[$t_italien]["p"][1] = preg_replace(",\.(jpg|png|gif)$,", "-resp$t_portrait.$1.webp", $s_italien) . "?$mtime";
    714714                                                        $fichiers_webp[$t_italien]["p"][2] = preg_replace(",\.(jpg|png|gif)$,", "-resp$t_portrait-2.$1.webp", $s_italien) . "?$mtime";
     
    717717                                                $fichiers[$t_portrait]["p"][1] = "index.php?action=image_responsive&amp;img=$s_portrait&amp;taille=$t_portrait&mtime=$mtime";
    718718                                                $fichiers[$t_portrait]["p"][2] = "index.php?action=image_responsive&amp;img=$s_portrait&amp;taille=$t_portrait&amp;dpr=2&mtime=$mtime";
    719                                                 if (_IMAGE_WEBP) {
     719                                                if (_IMAGE_WEBP && $mime!="image/png") {
    720720                                                        $fichiers_webp[$t_italien]["p"][1] = "index.php?action=image_responsive&amp;img=$s_portrait&amp;taille=$t_portrait&amp;format=web&mtime=$mtime";
    721721                                                        $fichiers_webp[$t_italien]["p"][2] = "index.php?action=image_responsive&amp;img=$s_portrait&amp;taille=$t_portrait&amp;dpr=2&amp;format=web&mtime=$mtime";
     
    728728                        $ins .= " data-tailles='" . addslashes(json_encode($tailles)) . "'";
    729729                        $ins .= " data-autorisees='" . addslashes(json_encode($fichiers)) . "'";
    730                         if (_IMAGE_WEBP) {
     730                        if (_IMAGE_WEBP && $mime!="image/png") {
    731731                                $ins .= " data-autorisees_webp='" . addslashes(json_encode($fichiers_webp)) . "'";
    732732                        }
  • _plugins_/image_responsive/image_responsive_options.php

    r117631 r117632  
    173173                        if ($forcer_format == "webp") {
    174174                                $valeurs['fichier_dest'] = $vignette = "$destination.$destFormat.webp";
     175                                if ($destFormat == "png") {
     176                                        // Conserver la transparence
     177                                        @imagealphablending($destImage, false);
     178                                        @imagesavealpha($destImage,true);
     179                                }
    175180                                imagewebp ($destImage, $vignette);
    176181                                if (filesize($vignette) % 2 == 1) {     
  • _plugins_/image_responsive/paquet.xml

    r117631 r117632  
    22        prefix="image_responsive"
    33        categorie="multimedia"
    4         version="7.7.5"
     4        version="7.7.6"
    55        etat="stable"
    66        logo="prive/themes/spip/images/image_responsive.png"
Note: See TracChangeset for help on using the changeset viewer.