Как быстро объединить два изображения с помощью PHPPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как быстро объединить два изображения с помощью PHP

Сообщение Anonymous »


Я создаю интернет-магазин, поэтому мне нужно объединить изображение дизайна с изображением макета, а из-за большого количества макетов процесс объединения занимает слишком много времени, около 5 минут для каждого дизайна. Я ищу более быструю функцию из той, которую использую. это моя функция PHP:

function createimageinstantly($img1, $img2, $color, $randF){ //проверяем формат файла if(end(explode(".", $img2)) == "png"){$source = imagecreatefrompng($img2);}else{$source = imagecreatefromjpeg($img2);} if(end(explode(".", $img1)) == "png"){$destination = imagecreatefrompng($img1);}else{$destination = imagecreatefromjpeg($img1);} //чтобы изменить размер второго изображения, начните список ($ ширина, $ высота) = getimagesize ($ img2); список ($ ширина1, $ высота1) = getimagesize ($ img1); $percent = ((intval($width1 * 100 / $width) * 0,34) / 100); // Рассчитываем новые размеры $newwidth = $width * $percent; $newheight = $height * $percent; $chupon = imagecreatetruecolor($newwidth, $newheight); imagealphablending($chupon, false); imagesavealpha($chupon,true); $transparent = imagecolorallocatealpha($chupon, 255, 255, 255, 127); imagefilledrectangle($chupon, 0, 0, $newwidth, $newheight, $transparent); imagecopyresized($chupon, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height); // объединяем изображения imagecopy($destination, $chupon, (imagesx($destination) / 2) - (imagesx($chupon) / 2), (imagesy($destination) / 2) - (imagesy($chupon) / 2 + imagesy($ чупон) / 4), 0, 0, imagesx($chupon), imagesy($chupon)); //header("Тип контента: изображение/png"); $file_name = end(explode("/", $img2)); $file_name = взорваться(".", $file_name); //Выводим изображение if(end(explode(".", $img1)) == "png"){imagepng($destination, "../uploades/show/".$file_name[0].$randF."_".$ color.".".$file_name[1]);}else{imagejpeg($destination, "../uploades/show/".$file_name[0].$randF."_".$color.." .$file_name[1]);} } Дизайн изображения берется в $img1, а макет — в $img2, а $color и $randF — это просто переменные для изменения имени выходного изображения. В этом процессе я объединяю изображение дизайна после изменения его размера, чтобы оно поместилось поверх изображения макета, чтобы получить что-то вроде:
Изображение


Надеюсь, вы сможете мне помочь!
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»