webForumDet fria alternativet

Montera ihop flera bilder

PHPur PHP

0 svar · 970 visningar · startad av Meli

MeliMedlem sedan okt. 20133 inlägg
#1

Har följande funktion för att skapa ett kollage av fyra bilder som en:

error_reporting(E_ALL);
ini_set('display_errors', '1');

$images = $_GET['i'];
$nb = $_GET['nb'];

if ($nb == '4') {
	$dest = imagecreatefrompng('files/template_collage_' . $nb . '.png');
	$image_files = explode('|', $images);
	$i = 1;
	
	foreach ($image_files as $image_file) {
	
		$image_source = imagecreatefromjpeg($image_file);
		$size = getimagesize($image_file);
		$image_new = imagecreatetruecolor(612,612);
		imagecopyresampled($image_new,$image_source,0,0,0,0,612,612,$size[0],$size[1]);
		
		if ($i == 1) {
			imagecopymerge($dest, $image_new, 0, 0, 0, 0, 612, 612, 100);
			
		} else if ($i == 2) {
			imagecopymerge($dest, $image_new, 612, 0, 0, 0, 612, 612, 100);
			
		} else if ($i == 3) {
			imagecopymerge($dest, $image_new, 0, 612, 0, 0, 612, 612, 100);
			
		} else if ($i == 4) {
			imagecopymerge($dest, $image_new, 612, 612, 0, 0, 612, 612, 100);
			
		}
		
		$i++;
		
		imagedestroy($image_source);
		imagedestroy($image_new);
		$size = '';
	}
	
	
	// Output and free from memory
	header('Content-Type: image/png');
	header('Content-Disposition: inline; filename=collage_card.png');
	imagejpeg($dest, null, 100);
	
	imagedestroy($dest);
	
	
}

Den är dock väldigt långsam, upp mot nästan 20 sekunder. Finns det något att göra? Tacksam för all hjälp!

129 ms totalt · 3 externa anrop · v20260731065814-full.29ac60f6
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)