Я удалил свой оригинальный вопрос, как мне удалось частично получить эту работу, то, что у меня есть 7 изображений,Как объединить несколько изображений вместе с помощью библиотеки GD?
https://dl.dropboxusercontent.com/u/58586640/layer1.png https://dl.dropboxusercontent.com/u/58586640/layer2.png https://dl.dropboxusercontent.com/u/58586640/layer3.png https://dl.dropboxusercontent.com/u/58586640/layer4.png https://dl.dropboxusercontent.com/u/58586640/layer5.png https://dl.dropboxusercontent.com/u/58586640/layer6.png https://dl.dropboxusercontent.com/u/58586640/layer7.png
Каждый из этих образов при размещении поверх друг друга должны создать одно изображение, которое идеально сочетается.
Текущий результат я имею,
https://dl.dropboxusercontent.com/u/58586640/Screen%20Shot%202013-12-11%20at%2018.31.57.png
Как вы можете видеть, что это работает почти идеально, но 2 из слоев либо не копируются или не получают альфы сохранены правильно. Я не уверен, что я делаю не так, как все остальные слои, кажется, работает нормально, то изображения, которые идут в качестве черноты,
https://dl.dropboxusercontent.com/u/58586640/layer3.pnghttps://dl.dropboxusercontent.com/u/58586640/layer4.png
Вот мой текущий код,
<?php
$images = array('img/layer1.png', 'img/layer2.png', 'img/layer3.png', 'img/layer4.png', 'img/layer5.png', 'img/layer6.png', 'img/layer7.png');
// foreach($images as $i) {
// var_dump(file_exists($i));
// }
// Allocate new image
$img = imagecreatetruecolor(704, 469);
// Make alpha channels work
imagealphablending($img, true);
imagesavealpha($img, true);
foreach($images as $fn) {
// Load image
$cur = imagecreatefrompng($fn);
imagealphablending($cur, true);
imagesavealpha($cur, true);
// Copy over image
imagecopy($img, $cur, 0,0,0,0, 704, 469);
// Free memory
imagedestroy($cur);
}
header('Content-Type: image/png');
imagepng($img);
Как вы можете видеть, я проверил, чтобы убедиться, что файлы существуют, и они делают это, это должна быть проблема GD, у кого есть идеи?