2016-10-31 46 views
0

HTTP 서버에서 호스팅되는 PNG 파일이 완전히 투명한지 (단 하나의 픽셀에도 색상이 없음) 알고있는 믿을 수있는 빠른 방법을 찾고 있습니다.PHP - PNG가 완전히 투명한지 확인합니다.

PHP 스크립트는 수만 개의 이미지를 처리해야하므로 가능한 한 빨리 처리해야합니다. 필자는 모든 픽셀에서 수동 PHP for 루프를 사용할 여유가 없습니다.

이미지 크기는 대략 300x300px입니다. PNG-8 형식이므로 투명도는 있지만 알파 채널은 없습니다. 물론 GD를 사용할 수 있습니다.

완전 투명 이미지 파일의 예를 Transparent image

하지 완전히 투명한 이미지 파일의 예를 Not fully transparent image

+0

속도가 주요 관심사 인 경우 C와 같은 언어가 사용자가 원하는 것이어야합니다. 노드와 PHP는 성능 측면에서 거의 유사하지 않습니다. – deceze

+0

어쩌면이 도움이 될 수 있습니다 https://github.com/thephpleague/color-extractor – Fky

+0

확실하지만, PHP 또는 노드에 의해 호출 된 C libb 실제로 꽤 잘 할 수 있습니다 – Rayjax

답변

0

(전혀 나는 아직도 Node.js를 전환 할 수 PHP와 방법이없는 경우) 유용한 라이브러리 : http://github.com/thephpleague/color-extractor

기본 사용 :

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();