gpt4 book ai didi

php - 背景图像是深色还是浅色?

转载 作者:IT王子 更新时间:2023-10-29 00:15:03 27 4
gpt4 key购买 nike

我正在用 PHP 进行 ODP->HTML 转换。我有以下问题:

Use the style:use-window-font-color property to specify whether or not the window foreground color should be as used as the foreground color for a light background color and white for a dark background color.

(OpenDocument 规范版本 1.0、15.4.4)

如果我有一张背景图片,我该如何检查这张图片是浅色还是深色?

你有什么想法吗?

提前致谢,列乌

最佳答案

我认为这是一个需要解决的非常有趣的问题,所以我编写了一个快速脚本来完成它。遵循提供的其他建议

<?php

// TODO supply your own filenames
$filenames = array(
'testpics/client-bella-vi.jpg',
'testpics/istockphoto_8577991-concept-of-business-people-crowd.jpg',
'testpics/medium-gray.jpg');

// loop though each file
foreach ($filenames as $filename) {

echo "$filename<br/>";

$luminance = get_avg_luminance($filename,10);
echo "AVG LUMINANCE: $luminance<br />";

// assume a medium gray is the threshold, #acacac or RGB(172, 172, 172)
// this equates to a luminance of 170
if ($luminance > 170) {
echo "Black Text<br />";
} else {
echo 'White Text<br />';
}

echo "<br />";
}
exit;

// get average luminance, by sampling $num_samples times in both x,y directions
function get_avg_luminance($filename, $num_samples=10) {
$img = imagecreatefromjpeg($filename);

$width = imagesx($img);
$height = imagesy($img);

$x_step = intval($width/$num_samples);
$y_step = intval($height/$num_samples);

$total_lum = 0;

$sample_no = 1;

for ($x=0; $x<$width; $x+=$x_step) {
for ($y=0; $y<$height; $y+=$y_step) {

$rgb = imagecolorat($img, $x, $y);
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> 8) & 0xFF;
$b = $rgb & 0xFF;

// choose a simple luminance formula from here
// http://stackoverflow.com/questions/596216/formula-to-determine-brightness-of-rgb-color
$lum = ($r+$r+$b+$g+$g+$g)/6;

$total_lum += $lum;

// debugging code
// echo "$sample_no - XY: $x,$y = $r, $g, $b = $lum<br />";
$sample_no++;
}
}

// work out the average
$avg_lum = $total_lum/$sample_no;

return $avg_lum;
}

关于php - 背景图像是深色还是浅色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5842440/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com