Beste scripters,

wie kan me helpen ik wil in gd libery verschillende plaatje overelkaar plakken maar het plaatje wat er onder ligt moet nog wel te zien zijn.
Ik doe het nu met de functie imagecopy maar dat werkt niet, wat doe ik verkeerd.

Graag advies

Mvg,

Phpkunst
Het is handiger als je de code die je nu hebt even post. :)
<?php
header("Content-type: image/png");
$image = imageCreateTruecolor(485,485);
if(!empty($_GET))
{
extract($_GET);
}
$breedte=$h*2;
$hoogte=$b*2;
if (!empty($machine))
{
for ($tel=1;$tel<=$aantal;$tel++)
{
if(!empty($Y[$tel]) AND ($X[$tel]))
{
$as[$tel] = imagecreatefrompng("./assen/$tel$machine.png");
$as_breedte[$tel] = imagesx($as[$tel]);
$as_hoogte[$tel] = imagesy($as[$tel]);
imagecreatetruecolor($as_breedte[$tel], $as_hoogte[$tel]);
imagecopy($image, $as[$tel], $X[$tel], $Y[$tel], 0, 0, $as_breedte[$tel], $as_hoogte[$tel]);
}
}
}



$transparent = imageColorAllocate($image, 0, 0, 0);
imageColorTransparent($image, $transparent);
$black = imageColorAllocate($image, 1, 1, 1);
ImageRectangle ($image, 0, 0, $hoogte, $breedte,$black);



imagePng($image, '' , 100);
imagedestroy($image);
?>
Weet iemand de oplossing ik zoek er namelijk al een maand naar, maar heb niet de oplossing gevonden.
Wie heeft hier ervaring mee en kan me duwtje de goede richting in geven.

Mvg,

Phpkunst
Ik heb me even op je probleem gestort. Het resultaat kun je bekijken op jankoehoorn.nl. Je kunt dit ook gebruiken voor een watermerk-script.

Laat even weten of dit is wat je bedoelt, dan post ik de code.
Heel erg bedankt dat het plaatje er onder wat minder duidelijk wordt is zeker niet te voorkomen.

als dat niet kan dan doe ik wel zo.

bedankt,

Phpkunst
Hier is de code:

<?php
	ini_set ('display_errors', 1);
	error_reporting (E_ALL);
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<html>
<head>
	<title>Merging Images with PHP</title>
	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
	<style type="text/css">
		#container {
			margin: 8px auto;
			width: 600px;
			border: 1px solid #ccc;
			text-align: center;
		}
		h1 {
			font: bold 18px georgia;
			color: #fff;
			background-color: #666;
			margin: 8px 16px;
			padding: 5px;
		}
		h2 {
			font: bold 14px georgia;
			color: #666;
			background-color: #fff;
		}
		img {
			border: 1px solid #ccc;
			padding: 9px;
		}
	</style>
</head>

<body>
	<div id="container">
	<h1>PHP GD: merging images</h1>
	<h2>Dit is plaatje 1</h2>
	<p>
		<img src="gd1.jpg" alt="plaatje 1">
	</p>
	<h2>Dit is plaatje 2</h2>
	<p>
		<img src="gd2.jpg" alt="plaatje 2">
	</p>
	<h2>Dit is plaatje 3</h2>
	<p>
		<img src="gd3.jpg" alt="plaatje 3">
	</p>
	<?php
		// image identifiers aanmaken
		$img1 = imagecreatefromjpeg ('gd1.jpg');
		$img2 = imagecreatefromjpeg ('gd2.jpg');
		$img3 = imagecreatefromjpeg ('gd3.jpg');
		
		// de hoogte en de breedte weet ik al
		$dst = imagecreatetruecolor (400, 400);
		
		// plaatje 1 kunnen we gewoon kopiƫren
		imagecopyresampled ($dst, $img1, 0, 0, 0, 0, 400, 400, 400, 400);
		
		// plaatje 2 mergen. Het laatste argument bepaalt de mate van transparantie (0 - 100)
		imagecopymerge ($dst, $img2, 0, 0, 0, 0, 400, 400, 50);
		
		// plaatje 3 mergen.
		imagecopymerge ($dst, $img3, 0, 0, 0, 0, 400, 400, 30);
		
		// nieuwe plaatje genereren (zorg dat je de goede rechten hebt in de map!)
		imagejpeg ($dst, 'gd4.jpg', 85);
		
		// anders kun je hem later niet meer handmatig wissen
		chmod ('gd4.jpg', 0644);
		
		// opschonen
		imagedestroy ($img1);
		imagedestroy ($img2);
		imagedestroy ($img3);
		imagedestroy ($dst);
	?>
	<h2>En dit zijn de plaatjes door elkaar heen</h2>
	<p>
		<img src="gd4.jpg" alt="merged picture">
	</p>
	</div>
</body>
</html>
hey heel erg bedankt, ben trots op dat php hulp nog altijd de nadruk legt op hulp ;)

Mvg,

Phpkunst
Graag gedaan. Ik heb ook nog even een watermerk test gedaan. Krijg het alleen aan de praat als ik een transparent GIF gebruik voor het watermerk.

Reageren