foreach (ImageStdParams::get_defined_type_map() as $std_params) { $sharpen += $std_params->sharpen; } $params->sharpen = round($sharpen / count(ImageStdParams::get_defined_type_map())); } if (!mkgetdir(dirname($page['derivative_path']))) { ierror("dir create error", 500); } ignore_user_abort(true); @set_time_limit(0); $image = new pwg_image($page['src_path']); $timing['load'] = time_step($step); $changes = 0; // rotate if (0 != $page['rotation_angle']) { $image->rotate($page['rotation_angle']); $changes++; $timing['rotate'] = time_step($step); } // Crop & scale $o_size = $d_size = array($image->get_width(), $image->get_height()); $params->sizing->compute($o_size, $page['coi'], $crop_rect, $scaled_size); if ($crop_rect) { $changes++; $image->crop($crop_rect->width(), $crop_rect->height(), $crop_rect->l, $crop_rect->t); $timing['crop'] = time_step($step); } if ($scaled_size) { $changes++; $image->resize($scaled_size[0], $scaled_size[1]); $d_size = $scaled_size;