Heim > Backend-Entwicklung > PHP-Tutorial > Detaillierte Erläuterung der Schritte zur Implementierung der inversen Farbverarbeitung von Bildern in PHP

Detaillierte Erläuterung der Schritte zur Implementierung der inversen Farbverarbeitung von Bildern in PHP

php中世界最好的语言
Freigeben: 2023-03-26 20:28:01
Original
1930 Leute haben es durchsucht

Dieses Mal werde ich Ihnen die Schritte zur Umkehrung der Farbverarbeitung in PHP ausführlich erläutern. Was sind die Vorsichtsmaßnahmen für die Implementierung der umgekehrten Farbverarbeitung von Bildern in PHP? Werfen wir einen Blick darauf.

Heute muss ich PHP verwenden, um die Farbe des Bildes zu invertieren und in Grau umzuwandeln. Ich wusste vorher nicht, ob das möglich ist, aber dann habe ich die Funktion imagefilter() gesehen mehr als genug, um es in Grau umzuwandeln.

imagefilter($im, IMG_FILTER_GRAYSCALE)
Nach dem Login kopieren

Natürlich setzen einige Leute auch Grau in CSS

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

PHP-Farbänderungscode:

<?php
/**
* 主要用于图片的处理函数
*/
//图片的反色功能
function color($url) {
  //获取图片的信息
    list($width, $height, $type, $attr)= getimagesize($url);
    $imagetype = strtolower(image_type_to_extension($type,false));
    $fun = 'imagecreatefrom'.($imagetype == 'jpg'?'jpeg':$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['red'];
        $green = 256 - $color['green'];
        $blue = 256 - $color['blue'];
        $hex = imagecolorallocate($img, $red, $green, $blue);
        //给每一个像素分配颜色值
        imagesetpixel($img, $x, $y, $hex);
      }
    }
    //输出图片
    switch ($imagetype) {
      case 'gif':
      imagegif($img);
      break;
      case 'jpeg':
      imagejpeg($img);
      break;
      case 'png':
      imagepng($img);
      break;
      default:
      break;
    }
}
Nach dem Login kopieren

Testcode:

$imgurl='1.jpg';
echo color($imgurl);
Nach dem Login kopieren

Originalbild (nehmen Sie dieses kindheitszerstörende Parodiebild, das der Redakteur oft als Beispiel verwendet):

Nach dem Laufen (dies dient hauptsächlich zum Testen, ob das Bild die drei Ansichten untergräbt oder ich nicht näher auf die Gesichtszüge eingehe~):

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

Empfohlene Lektüre:

Detaillierte Erläuterung der Schritte zum Parsen von XML und Generieren von SQL-Anweisungen in PHP

PHP zur Implementierung Erfassung regulärer Ausdrucksgruppen Detaillierte Erläuterung der Schritte

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Schritte zur Implementierung der inversen Farbverarbeitung von Bildern in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage