gpt4 book ai didi

php - IMagick 检查图像亮度

转载 作者:行者123 更新时间:2023-12-02 03:40:18 25 4
gpt4 key购买 nike

我需要能够在图像内自动写入一些文本。根据图像亮度,脚本必须用白色或黑色书写。

那么如何使用 Imagick 检查图像的亮度/暗度?

最佳答案

你可以这样做:

// Load the image
$imagick = new Imagick("image.jpg");
// convert to HSL - Hue, Saturation and LIGHTNESS
$imagick->transformImageColorspace(imagick::COLORSPACE_HSL);
// Get statistics for the LIGHTNESS
$Lchannel = $imagick->getImageChannelMean(imagick::CHANNEL_BLUE);
$meanLightness = $Lchannel['mean']/65535;
printf("Mean lightness: %f",$meanLightness);

如果您想要处理带底色的文本,根据 Fred 的建议,您可以使用 PHP 来实现:

$image = new Imagick("image.jpg");
$draw = new ImagickDraw();
$draw->setFillColor('#ffffff');
$draw->setFontSize(24);
$draw->setTextUnderColor('#ff000080');
$image->annotateImage($draw,30,50,0,"Undercoloured Text");
$image->writeImage('result.jpg');

enter image description here

关于php - IMagick 检查图像亮度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48851458/

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