setBackgroundColor(new ImagickPixel('#ffffff')); $image->readImageBlob(file_get_contents($icon_path)); $image->setImageFormat("png24"); $image->setImageInterpolateMethod(Imagick::INTERPOLATE_INTEGER); $image->resizeImage(180, 180, Imagick::FILTER_POINT, 1); $image->borderImage('#ffffff', 510, 225); $image->writeImage($preview_path); } $current_icon = false; if (isset($argv[1])) { $current_icon = $argv[1]; } elseif (isset($_GET['icon'])) { $current_icon = $_GET['icon']; } $icon_dir = __DIR__."/icons"; $preview_dir = __DIR__."/preview"; if ($current_icon) { $icon_path = "$icon_dir/$current_icon.svg"; $preview_path = "$preview_dir/$current_icon.png"; generate_preview($icon_path, $preview_path); } else { // no icon specified, generate all $icon_json = json_decode(file_get_contents(__DIR__ . "/assets/icons.json"), true); foreach ($icon_json as $filename => $tags) { $icon_name = str_replace(".svg", "", $filename); $icon_path = "$icon_dir/$filename"; $preview_path = "$preview_dir/$icon_name.png"; if (is_file($preview_path) && filemtime($preview_path) > filemtime($icon_path)) { continue; } generate_preview($icon_path, $preview_path); } $file = fopen(__DIR__ . "/last_generate", "w"); fwrite($file, time()); fclose($file); }