Итак, мне нужно объединить изображения (36 или 48) изображений на другое изображение ();Сложите много изображений с помощью PHP GD (imagecopymerge) заблаговременно
Разрешение 4800x4800 пикселей. Таким образом, каждый квадрат будет иметь размер 695x695; В настоящее время я пришел к этому решению:
$i = 1;
$x = 140; $y = 140;
foreach($files as $file):
if($i > 1) $template = 'test.png';
else $template = 'templates/24x24-TEMPLATE.png';
$this->save_image($file,'templates/temp.jpg');
$src = imagecreatefromjpeg('templates/temp.jpg');
$src2 = imagecreatetruecolor(695,695);
imagecopyresampled($src2, $src, 0, 0, 0, 0, 695, 695, 612, 612);
imagejpeg($src2,'templates/temp.jpg');
imagedestroy($src2);
$src = imagecreatefromjpeg('templates/temp.jpg');
$dest = imagecreatefrompng($template);
imagealphablending($dest, false);
imagesavealpha($dest, true);
imagealphablending($src, false);
imagesavealpha($src, true);
imagecopymerge($dest, $src, $x, $y, 0, 0, 695, 695, 100); //have to play with these numbers for it to work for you, etc.
imagepng($dest,'test.png');
/* Destroy the images to free up space */
imagedestroy($dest);
imagedestroy($src);
$x = $x + 695 + 65;
if($i % 6 == 0):
$y = $y + 695 + 65;
$x = 140;
endif;
$i++;
endforeach;
ведьма загружает файл, который нужно положить на площадь, сливает его с квадратами, и делает это для всех изображений, пока все квадраты не будут заполнены. Но этот код, для 20 изображений, занимает до 5 минут! Мне нужно что-то, что может занять до 30 секунд, чтобы заполнить квадраты изображениями, а затем сгенерировать один файл PDF.
Есть ли способ улучшить это? Или есть ли другой способ сделать это быстрее и лучше?
Вы пробовали wkhtmltopdf, вы покажете изображения в html, после этого звонка wkhtmltopdf – sanj
Мне действительно не нужно это делать. Мне нужно обработать изображения в бэкэнд, потому что я не хочу иметь большой документ, такой как 4800x4800 на веб-странице; – roshkattu