>  기사  >  백엔드 개발  >  PHP는 이미지의 역색상 처리 기능을 구현합니다. PHP 기술

PHP는 이미지의 역색상 처리 기능을 구현합니다. PHP 기술

jacklove
jacklove원래의
2018-06-28 17:36:491441검색

이 글은 주로 PHP의 이미지 반전 기능을 소개하며, 이미지 읽기, 수치 계산 등 PHP 관련 연산 기술이 포함되어 있습니다. 필요한 친구는 참고하면 됩니다.

이 글의 예는 PHP의 이미지 반전에 대해 설명합니다. . 색상 처리 기능. 참고할 수 있도록 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.

오늘은 PHP를 사용하여 이미지 색상을 반전시키고 회색으로 변환해야 했습니다. 이전에는 이것이 가능한지 몰랐습니다. imagefilter() 기능을 봤는데 정말 강력하네요

imagefilter($im, IMG_FILTER_GRAYSCALE)

물론 어떤 사람들은 CSS

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

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

테스트 코드:

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

원본 사진 (편집자가 자주 사용하는 어린 시절을 망치는 스푸핑 사진을 예로 들어보세요): 실행 후 ( 이것은 주로 테스트용입니다. 사진이 삼관을 전복하는지 오감을 전복하는지에 대해서는 편집자가 더 이상 묻지 않습니다~):

관심을 가질 만한 기사:

php 설치 예 PHP 기술을 설명하기 위한 pecl을 통한 확장

php 학습 노트 - mb_strstr 사용을 위한 기본 PHP 기술

PHP 삭제 배열 아래 첨자 요소 메서드 지정 php 인스턴스


위 내용은 PHP는 이미지의 역색상 처리 기능을 구현합니다. PHP 기술의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.