да там ничего особенного по коду
if (count($setting) == 0){
$setting = array(
'setImageOpacity' => 0.95,
'modulateImage' => array(100,90,100),
);
}
$basic = new Imagick($basic_img);
$Overlay = new Imagick($print_img);
$Overlay->modulateImage($setting['modulateImage'][0], $setting['modulateImage'][1], $setting['modulateImage'][2]);
$Overlay->setImageOpacity( $setting['setImageOpacity'] );
$basic->compositeImage($Overlay, Imagick::COMPOSITE_MULTIPLY, $to_widht, $to_height);
$Overlay->clear();
if (is_array($array['layer'])){
foreach ($array['layer'] AS $val) {
if (empty($val['no_print'])) {
$layer = new Imagick($val['img']);
$basic->compositeImage($layer, Imagick::COMPOSITE_OVER , $val['to_widht'], $val['to_height'], 1);
$layer->clear();
}
}
}
$basic->setImageCompressionQuality(90);
$basic->writeImage ($product_dir .'/'.$file_name);
$basic->clear();