PHP 判断图片是否带点赞(以抖音为例)

写在前面的话:
技术点:PHP的GD库
越学习,越发现自己的无知,当真如此,永远需要抱着学徒的心,今天把GD的所有函数看了下,不日用空更新

正文:

$img = '5212901b71dc6cf0bc910424b116361.jpg';
list($width, $height, $type, $attr) = getimagesize($img);
    switch($type){
        case 2:
            $im = imagecreatefromjpeg($img);
            break ;
        case 3:
            $im = imagecreatefrompng($img);
            break ;
    }
    $status = '未点赞';
imagetruecolortopalette($im, false, 255);
$result = imagecolorclosest($im, '249', '72', ' 116');
$result = imagecolorsforindex($im, $result);
$red = $result['red'];
$green= $result['green'];
$blue = $result['blue'];
if($red >= 139 &&  $red <= 255){
    if($green >= 62 && $green <= 82){
        if($blue >= 106 && $blue <= 126){
            $status =  "已点赞";
        }
    }
}
echo $status;
echo "<br />";
echo "<img src='$img' style='width:15%;'/>";
//print_r($result);
imagedestroy($im);


运行截图 :

å¨è¿éæå¥å¾çæè¿°

å¨è¿éæå¥å¾çæè¿°
实现的过程:
本来打算用imagecolorat(取得某像素的颜色索引值)和imagecopyresampled实现效果的发现不同机型的点赞位置不一样,不是等比例进行适配的,无奈作罢,只好使用通过要对比图片的RGB色值来对比,唯一难的是点赞图标的色值是渐变的不是固定的,通过反复的取值,找到一个稍微可以中性的,后续可以利用专业软件分析他们的RGB组 进行精确对比

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值