Я имею дело с изображениями в формате PDF. У меня есть пустое «приспособленное» изображение, которое я загружаю в принтер и пытаюсь добавлять к нему изображения заданий по одному. При этом каждое изображение находится в разном положении, чтобы не перекрываться. Проблема, с которой я столкнулся, заключается в том, что по какой-то причине первое задание добавляется нормально, но когда я добавляю второе задание, первое задание частично удаляется. Я пробовал множество составных алгоритмов, но если они работают, у всех одна и та же проблема. Интересно, сможет ли кто-нибудь указать на мою логическую ошибку? Я приложил несколько примеров процесса на разных этапах. Любая помощь приветствуется. Спасибо.
/** * * @param введите $jig * @param введите $point * @param строка $original * @param строка $дополнительно */ публичная функция addImageToImage($jig, $point, строка $original, строка $additional, строка $jobBase) { $preview = новый Imagick(); $preview->setResolution(300, 300); $preview->readImage($original); $jobImage = новый Imagick(); $jobImage->setResolution(300, 300); $jobImage->readImage($additional); $x = $this->mmToPx($jig["points"][$point][JigPoints::XCO] + $jig['products'][$jobBase][JigProducts::X_OFF]); $y = $this->mmToPx($jig["points"][$point][JigPoints::YCO] + $jig['products'][$jobBase][JigProducts::Y_OFF]); $preview->setImageBackgroundColor($jobImage->getImageBackgroundColor()); $preview->setImageAlphaChannel($jobImage->getImageAlphaChannel()); $preview->setImageType($jobImage->getImageType()); $preview->compositeImage($jobImage,Imagick::COMPOSITE_DISSOLVE,$x,$y,$jobImage->getImageAlphaChannel()); $preview-> FlattenImages(); $preview->writeImage($original); $jobImage->уничтожить(); $предварительный просмотр->уничтожить(); }


