1 function create_webp_image($image_path) {
2 $image_properties = @getimagesize($image_path);
3 $image_info = pathinfo($image_path);
4 $image_type = $image_properties[2];
5 switch ($image_type) {
6 case 1:
7 $img = @imagecreatefromgif($image_path);
8 break;
9 case 2:
10 $img = @imagecreatefromjpeg($image_path);
11 break;
12 case 3:
13 $img = @imagecreatefrompng($image_path);
14 break;
15 }
16 $new_path = $image_info['dirname'].'/'.$image_info['filename'].'.webp';
17 $this->log->debug("image_properties", json_encode($image_properties, JSON_PRETTY_PRINT));
18 $this->log->debug("image_info", json_encode($image_info, JSON_PRETTY_PRINT));
19 $this->log->debug("img", $img);
20 $this->log->debug("new_path", $new_path);
21 $webp = imagewebp($img, $new_path); // with or without (..., quality= int)
22 $this->log->debug("webp", $webp);
23 imagedestroy($img);
24 }