Heim  >  Artikel  >  Backend-Entwicklung  >  PHP implementiert die inverse Farbverarbeitungsfunktion von Bild-PHP-Fähigkeiten

PHP implementiert die inverse Farbverarbeitungsfunktion von Bild-PHP-Fähigkeiten

jacklove
jackloveOriginal
2018-06-28 17:36:491441Durchsuche

In diesem Artikel wird hauptsächlich die Funktion der inversen Farbverarbeitung von Bildern in PHP vorgestellt, wobei PHPs verwandte Betriebsfähigkeiten zum Lesen von Bildern, numerischen Berechnungen usw. einbezogen werden. Freunde in Not können sich darauf beziehen

Dieser Artikel beschreibt die Beispiele PHP implementiert die Funktion zum Invertieren der Farbe von Bildern. Ich teile es Ihnen als Referenz mit:

Heute muss ich PHP verwenden, um die Farbe des Bildes umzukehren und es in Grau umzuwandeln vorher, aber dann habe ich die imagefilter()-Funktion gesehen, die verwendet wird, um es grau zu machen

imagefilter($im, IMG_FILTER_GRAYSCALE)

Natürlich einige Leute legen auch Graueinstellungen in CSS fest

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

PHP-Farbübertragungscode:

<?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;
    }
}

Testcode:

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

Originalbild (nehmen Sie dieses kindheitszerstörende Parodiebild, das vom Herausgeber häufig als verwendet wird ein Beispiel):

Nach dem Ausführen (hier ist der Test Herr, ob das Bild die drei Ansichten oder die fünf Sinne untergräbt, wird der Herausgeber nicht zu viel fragen~ ):

Artikel, die Sie interessieren könnten:

Beispiel einer PHP-Installationserweiterung durch die PECL-Methode zur Erklärung von PHP Fertigkeiten

php-Studiennotizen – grundlegende Verwendung von mb_strstr PHP-Fähigkeiten

PHP-Methode zum Löschen von Elementen mit angegebenem Index im Array PHP-Instanz

Das obige ist der detaillierte Inhalt vonPHP implementiert die inverse Farbverarbeitungsfunktion von Bild-PHP-Fähigkeiten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn