PHP PHP로 JPG 이미지를 WEBP 형식으로 변환하기 (imagick)
페이지 정보
조회 369회
작성일 21-04-05 14:17
PHP의 imagick 확장을 이용해 JPG·PNG 이미지를 WEBP 형식으로 변환하는 방법이다. GitHub에서 제공하는 확장을 설치하고 변환 예제 코드를 사용한다. 단일 CGI 프로세스로 수만 번 변환해도 메모리가 늘지 않아 안정적이며, 200KB 이하 이미지는 약 0.2초 안에 변환되지만 대용량 파일은 시간이 오래 걸려 실시간 변환에는 부적합하다.
imagemagick支持webp,使用imagick即可,不需编写此扩展 下载地址 https://github.com/godlovesdog/webp 使用
/*
* 将JPEG/PNG 图片内存转为webp
* 纯内存操作
*/
$opts = getopt('f:');
$blob = file_get_contents("/home/lvbenwei/".$opts['f']);
$res = image2webp($blob);
$arr = explode('/',$opts['f']);
file_put_contents("/home/lvbenwei/".$arr[count($arr)-1].".webp",$res);//纯内存操作
稳定性测试
单CGI进程几万次JPEG图片转WEBP操作,消耗内存并未增长,可以认为无内存泄露 JPEG转webp

php 把jpg格式的图片转为webp格式
图片字节数在200KB以内时,图片格式转换耗时基本在0.2s内
图片字节数>200KB时,格式转换耗时不稳定,有时达近10s PNG转WEBP

php 把jpg格式的图片转为webp格式
有的200KB以内的PNG转换webp耗时竟达1s
格式转换性能不尽如人意,不建议进行在线格式转换