Maison  >  Article  >  développement back-end  >  Comment implémenter le traitement des couleurs inverse des images en PHP

Comment implémenter le traitement des couleurs inverse des images en PHP

小云云
小云云original
2018-02-03 08:58:161337parcourir

Aujourd'hui, il est nécessaire d'utiliser PHP pour inverser la couleur de l'image et la convertir en gris. Je ne savais pas si c'était faisable avant, mais ensuite j'ai vu la fonction imagefilter(), qui est largement suffisante. pour le convertir en gris. C'est tellement puissant. L'auteur de cet article vous présentera l'implémentation de PHP. La fonction de traitement inverse des couleurs des images implique les compétences opérationnelles associées de PHP pour la lecture d'images, les calculs numériques, etc. Les amis qui en ont besoin peuvent référez-vous-y. J'espère que cela pourra aider tout le monde.


imagefilter($im, IMG_FILTER_GRAYSCALE)

Bien sûr, certaines personnes définissent également des 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>

conversion php Code couleur :


<?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 test :


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

Photo originale (prenez cette photo parodie de ruine d'enfance souvent utilisée par l'éditeur comme exemple) :

Après avoir couru (c'est principalement pour tester, pour savoir si l'image subvertit les trois points de vue ou les cinq sens), l'éditeur n'en demandera pas trop ~) :

Recommandations associées :

PHP pour convertir une couleur en sa couleur inverse Le code

php convertit la couleur en sa couleur inverse, php convertit la couleur en sa

Méthode d'implémentation des couleurs inverses du traitement d'image Python

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