background image

        $value = $this->getHashValue($img);
        imagedestroy($img);
        return $value;
    }
    public function getHashValue($img){
        $width = imagesx($img);
        $height = imagesy($img);
        $total = 0;
        $array = array();
        for ($y=0;$y<$height;$y++){
            for ($x=0;$x<$width;$x++){
                $gray = ( imagecolorat($img, $x, $y) >> 8 ) & 0xFF;
                if (!is_array($array[$y])){
                    $array[$y] = array();
                }
                $array[$y][$x] = $gray;
                $total += $gray;
            }
        }
        $average = intval($total / (64 * $this->rate * $this->rate));
        $result = '';
        for ($y=0;$y<$height;$y++){
            for ($x=0;$x<$width;$x++){
                if ($array[$y][$x] >= $average){
                    $result .= '1';
                }else{
                    $result .= '0';
                }
            }
        }
        return $result;
    }
    public function createImg($file){
        $ext = $this->getFileExt($file);
        if ($ext === 'jpeg') $ext = 'jpg';
        $img = null;
        switch ($ext){
            case 'png' : $img = imagecreatefrompng($file);break;
            case 'jpg' : $img = imagecreatefromjpeg($file);break;
            case 'gif' : $img = imagecreatefromgif($file);
        }
        return $img;
    }
    public function getFileExt($file){