| Conditions | 1 |
| Paths | 1 |
| Total Lines | 40 |
| Code Lines | 32 |
| Lines | 0 |
| Ratio | 0 % |
| Changes | 0 | ||
| 1 | <?php |
||
| 35 | public static function create(int $quality): OptimizerChain |
||
| 36 | { |
||
| 37 | return (new OptimizerChain()) |
||
| 38 | ->addOptimizer(new Jpegoptim([ |
||
| 39 | "--max=$quality", |
||
| 40 | '--strip-all', |
||
| 41 | '--all-progressive', |
||
| 42 | ])) |
||
| 43 | ->addOptimizer(new Pngquant([ |
||
| 44 | "--quality=$quality", |
||
| 45 | '--force', |
||
| 46 | '--skip-if-larger', |
||
| 47 | ])) |
||
| 48 | ->addOptimizer(new Optipng([ |
||
| 49 | '-i0', |
||
| 50 | '-o2', |
||
| 51 | '-quiet', |
||
| 52 | ])) |
||
| 53 | ->addOptimizer(new Svgo([ |
||
| 54 | '--disable={cleanupIDs,removeViewBox}', |
||
| 55 | ])) |
||
| 56 | ->addOptimizer(new Gifsicle([ |
||
| 57 | '-b', |
||
| 58 | '-O3', |
||
| 59 | ])) |
||
| 60 | ->addOptimizer(new Cwebp([ |
||
| 61 | '-m 6', |
||
| 62 | '-pass 10', |
||
| 63 | '-mt', |
||
| 64 | '-q $quality', |
||
| 65 | ])) |
||
| 66 | ->addOptimizer(new Avifenc([ |
||
| 67 | '-a cq-level=' . round(63 - $quality * 0.63), |
||
| 68 | '-j all', |
||
| 69 | '--min 0', |
||
| 70 | '--max 63', |
||
| 71 | '--minalpha 0', |
||
| 72 | '--maxalpha 63', |
||
| 73 | '-a end-usage=q', |
||
| 74 | '-a tune=ssim', |
||
| 75 | ])); |
||
| 78 |