PHP-检测PNG是否完全透明

PHP-检测PNG是否完全透明,php,image,png,gd,alpha-transparency,Php,Image,Png,Gd,Alpha Transparency,我正在寻找一种快速可靠的方法来了解HTTP服务器上托管的PNG文件是否完全透明(甚至一个像素都没有颜色) 这样做的PHP脚本必须处理数以万计的图像,因此必须尽可能快。我买不起所有像素上的手动PHP for循环 这些图像大约为300x300px。它们将采用PNG-8格式,因此存在透明度,但没有alpha通道我当然可以使用GD。 (如果PHP绝对不行,我仍然可以切换到Node.js) 全透明图像文件示例 不完全透明的图像文件示例 有用的库: 基本用法: require 'vendor/autolo

我正在寻找一种快速可靠的方法来了解HTTP服务器上托管的PNG文件是否完全透明(甚至一个像素都没有颜色)

这样做的PHP脚本必须处理数以万计的图像,因此必须尽可能快。我买不起所有像素上的手动PHP for循环


这些图像大约为300x300px。它们将采用PNG-8格式,因此存在透明度,但没有alpha通道我当然可以使用GD。

(如果PHP绝对不行,我仍然可以切换到Node.js)

全透明图像文件示例

不完全透明的图像文件示例 有用的库:

基本用法:

require 'vendor/autoload.php';

use League\ColorExtractor\Client as ColorExtractor;

$client = new ColorExtractor;

$image = $client->loadPng('./some/image.png');

// Get the most used color hexadecimal codes from image.png
$palette = $image->extract();

如果速度是您最关心的问题,那么像C这样的语言应该是您所需要的。无论是节点还是PHP都不会在性能方面接近。这可能有助于“欺骗”,但是PHP或节点调用的C LIB实际上可以做得很好,“它们将是PNG-8格式,所以透明性存在,但没有alpha通道。”您仍然有两种不同的情况要考虑(索引或否)。