Heim >Backend-Entwicklung >PHP-Tutorial >So implementieren Sie die inverse Farbverarbeitung von Bildern in PHP

So implementieren Sie die inverse Farbverarbeitung von Bildern in PHP

小云云
小云云Original
2018-02-03 08:58:161457Durchsuche

Heute besteht die Notwendigkeit, PHP zu verwenden, um die Farbe des Bildes zu invertieren und in Grau umzuwandeln. Ich wusste vorher nicht, ob das machbar ist, aber dann habe ich die Funktion imagefilter() gesehen, die mehr als genug ist Um es in Grau umzuwandeln, wird der Autor dieses Artikels Ihnen die Implementierung von PHP vorstellen. Die inverse Farbverarbeitungsfunktion von Bildern erfordert PHP-bezogene Bedienfähigkeiten zum Lesen von Bildern, numerischen Berechnungen usw. Freunde, die es brauchen Ich hoffe, es kann allen helfen.


imagefilter($im, IMG_FILTER_GRAYSCALE)

Natürlich setzen manche Leute auch Graustufeneinstellungen in CSS


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

PHP-Konvertierung Farbcode:


<?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 der Redakteur oft als Beispiel verwendet):

Nach dem Laufen (dies dient hauptsächlich zum Testen, um festzustellen, ob das Bild untergräbt die drei Ansichten oder die fünf Sinne), der Herausgeber wird nicht zu viel verlangen~):

Verwandte Empfehlungen:

PHP konvertiert eine Farbe in ihre Umkehrfarbe. Der Code

php wandelt die Farbe in ihre Umkehrfarbe um, PHP wandelt die Farbe in ihre

Python-Bildverarbeitungsmethode zur inversen Farbimplementierung

Das obige ist der detaillierte Inhalt vonSo implementieren Sie die inverse Farbverarbeitung von Bildern in PHP. 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