迅睿CMS框架是一款PHP8高性能·簡單易用的CMS開源開發框架,基于MIT開源許可協議發布,免費且不限制商業使用,是免費開源的產品,以萬端互聯為設計理念,支持的微信公眾號、小程序、APP客戶端、移動端網站、PC網站等多終端式管理系統。
聯系官方銷售客服
1835022288
028-61286886
圖片專用字段,如果判斷上傳的圖片必須為白底圖,如何實現?
<?php
function isWhiteBackground($imageFile) {
$image = imagecreatefromjpeg($imageFile);
$width = imagesx($image);
$height = imagesy($image);
$whitePixelCount = 0;
// 遍歷圖片中的每個像素
for ($y = 0; $y < $height; $y++) {
for ($x = 0; $x < $width; $x++) {
$rgb = imagecolorat($image, $x, $y);
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> 8) & 0xFF;
$b = $rgb & 0xFF;
// 判斷當前像素是否為白色
if ($r >= 250 && $g >= 250 && $b >= 250) {
$whitePixelCount++;
}
// 計算白色像素的比例
$whiteRatio = $whitePixelCount / ($width * $height);
// 如果白色像素占比過高,則認為是白底
return $whiteRatio > 0.95;
// 使用函數
$imageFile = 'path/to/your/image.jpg';
if (isWhiteBackground($imageFile)) {
echo "圖片為白底";
} else {
echo "圖片不是白底";
?>
這個函數可以實現,但怎么加入到字段判斷里面呢?
回復@天天向上 大概的代碼怎么寫?
<?php
function isWhiteBackground($imageFile) {
$image = imagecreatefromjpeg($imageFile);
$width = imagesx($image);
$height = imagesy($image);
$whitePixelCount = 0;
// 遍歷圖片中的每個像素
for ($y = 0; $y < $height; $y++) {
for ($x = 0; $x < $width; $x++) {
$rgb = imagecolorat($image, $x, $y);
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> 8) & 0xFF;
$b = $rgb & 0xFF;
// 判斷當前像素是否為白色
if ($r >= 250 && $g >= 250 && $b >= 250) {
$whitePixelCount++;
}
}
}
// 計算白色像素的比例
$whiteRatio = $whitePixelCount / ($width * $height);
// 如果白色像素占比過高,則認為是白底
return $whiteRatio > 0.95;
}
// 使用函數
$imageFile = 'path/to/your/image.jpg';
if (isWhiteBackground($imageFile)) {
echo "圖片為白底";
} else {
echo "圖片不是白底";
}
?>
這個函數可以實現,但怎么加入到字段判斷里面呢?
回復@天天向上 大概的代碼怎么寫?