je suis en train de fusionner deux images transparentes en utilisant php, mais l'image a une bordure noire et des taches que je ne pouvais pas comprendre l'échantillon question ci-dessous est mon code ci-jointphp fusion de deux images semble cassé
$image1=$image2='imagepath.png';
imagealphablending($image2, true);
imagesavealpha($image2, true);
$w=imagesx($image1);
$h=imagesy($image1);
$final = imagecreatetruecolor($w, $h);
$black = imagecolorallocate($final, 0, 0, 0);
$backgroundColor = imagecolortransparent($final, $black);
$percent = 0.583;
$new_width = $w * $percent;
$new_height = $h * $percent;
$wshift = $w/8.5;
$hshift = $h/2.5;
imagecopy($final, $image1, 0,0,0,0,$w,$h);
imagecopyresized($final, $image2,$wshift,$hshift,0,0, $new_width, $new_height, $w, $h);
header('Content-Type: image/png');
imagepng($final);
imagedestroy($image2);
imagedestroy($image1);
imagedestroy($final);
test:
voir en action: http://goo.gl/qMWNB4
URL de l'image: http://goo.gl/pR59MT
Ce n'est ni une bordure en pointillés , ni une frontière du tout en fait. Cela arrive parce que vos images sont à basse résolution. – Matheno
j'ai testé avec 300 * 300 images px même question comment si même avec 600 * 600 px même numéro – saurav
Le 'imagecopymerge' peut aider un peu. http://php.net/manual/fr/function.imagecopymerge.php – Michas