Maison  >  Article  >  développement back-end  >  PHP implémente la fonction de traitement inverse des couleurs des images Compétences php

PHP implémente la fonction de traitement inverse des couleurs des images Compétences php

jacklove
jackloveoriginal
2018-06-28 17:36:491441parcourir

Cet article présente principalement la fonction de traitement inverse des couleurs des images en PHP, impliquant les compétences opérationnelles associées de PHP pour la lecture d'images, les calculs numériques, etc. Les amis dans le besoin peuvent s'y référer

Cet article décrit les exemples PHP implémente la fonction d'inversion de la couleur des images. Je le partage avec vous pour votre référence. Les détails sont les suivants :

Aujourd'hui, j'ai besoin d'utiliser php pour inverser la couleur de l'image et la rendre grise. Je ne savais pas si c'était possible. avant, mais ensuite j'ai vu la fonction imagefilter(), qui sert à le rendre gris. Plus que suffisant, tellement puissant

imagefilter($im, IMG_FILTER_GRAYSCALE)

Bien sûr ; , certaines personnes définissent également les paramètres de gris en CSS

<style type="text/css">
img {
-webkit-filter: grayscale(1);/* Webkit */
filter:gray;/* IE6-9 */
filter: grayscale(1);/* W3C */
}
</style>

code de changement de couleur php :

<?php
/**
* 主要用于图片的处理函数
*/
//图片的反色功能
function color($url) {
  //获取图片的信息
    list($width, $height, $type, $attr)= getimagesize($url);
    $imagetype = strtolower(image_type_to_extension($type,false));
    $fun = &#39;imagecreatefrom&#39;.($imagetype == &#39;jpg&#39;?&#39;jpeg&#39;:$imagetype);
    $img = $fun($url);
    for ($y=0; $y < $height; $y++) {
      for ($x=0; $x <$width; $x++) {
        //获取颜色的所以值
        $index = imagecolorat($img, $x, $y);
        //获取颜色的数组
        $color = imagecolorsforindex($img, $index);
        //颜色值的反转
        $red = 256 - $color[&#39;red&#39;];
        $green = 256 - $color[&#39;green&#39;];
        $blue = 256 - $color[&#39;blue&#39;];
        $hex = imagecolorallocate($img, $red, $green, $blue);
        //给每一个像素分配颜色值
        imagesetpixel($img, $x, $y, $hex);
      }
    }
    //输出图片
    switch ($imagetype) {
      case &#39;gif&#39;:
      imagegif($img);
      break;
      case &#39;jpeg&#39;:
      imagejpeg($img);
      break;
      case &#39;png&#39;:
      imagepng($img);
      break;
      default:
      break;
    }
}

Code de test :

$imgurl=&#39;1.jpg&#39;;
echo color($imgurl);

Photo originale (prenez cette photo qui ruine l'enfance image parodie que j'utilise souvent comme exemple) :

Après l'exécution (c'est principalement pour tester, quant à savoir si l'image subvertit les trois vues ou les cinq sens, le l'éditeur n'en demandera pas trop~) :

Vous Articles qui peuvent vous intéresser :

Exemples de php installer des extensions via pecl pour expliquer les compétences php

notes d'étude php - utilisation de base de mb_strstr dans php Conseils

PHP méthode pour supprimer des éléments avec un indice spécifié dans une instance php de tableau

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn