Что по этому поводу?
substr((new Imagick($FILE))->identifyImage()['type'], 0, -5) == 'Alpha'
посмотрите на документацию о IdentifImage . Вы заметите недостающую документацию вывода функций. Это просто разобранная версия
identify -verbose $FILE (from the imagick package)
, где type
определяет тип изображения (сравните источник ).
Вы можете видеть, что imagick возвращает значение из некоторого массива MagickTypeOptions
, который определен здесь . Этот массив содержит версии -Alpha и -Matte для каждого типа изображения, если его цветовая палитра содержит альфа.
Теоретически вы можете сохранить изображение с такой палитрой, не используя его, но в этом случае каждая приличная программа должна перейти на не альфа-версию. Но ложные срабатывания возможны, но должны быть редкими.
Также я не проверяю типы изображений -Matte , потому что в массиве определяется таким образом, что для каждой константы типа изображения есть две записи с разными именами ( -Alpha и -Matte ), но с появлением -Alpha это имя будет возвращено для этого типа изображения.