Предсталяю Вашему вниманию PHP скрипт, который загружает из интернета любое изображение на ваш выбор, в загруженном изображении копирует левую половину изображения, зеркально ее отражает и вставляет вместо правой половины изображения.
$filename = '';
//$filename вставить адрес изображения
$image = @imagecreatefrompng($filename);
$size = getimagesize ($filename);
$width = $size[0];
$height = $size[1];
$dest = imagecreatetruecolor($width/2, $height);
imagealphablending($dest,false);
imagesavealpha($dest,true);
imagecopy($dest, $image, 0, 0, 0, 0, $width/2, $height);
imagepng($dest, 'newfile.png');
$new_image = imagecreatefrompng('newfile.png');
ImageFlip($new_image, IMG_FLIP_HORIZONTAL);
imagesavealpha($new_image,true);
imagepng($new_image, 'newfile_2.png');
imagedestroy($new_image);
unlink('newfile.png');
$first_im = imagecreatefrompng($filename);
$transparent = imagecolorallocatealpha($image, 255, 255, 255, 0);
imagefilledrectangle ($first_im, $width/2, 0, $width, $height, $transparent);
imagesavealpha($first_im,true);
imagepng($first_im, 'newfile.png');
$dest = imagecreatetruecolor($width, $height);
$first_im = imagecreatefrompng('newfile.png');
imagecopy($dest, $first_im, 0, 0, 0, 0, $width, $height);
$transparent = imagecolorallocatealpha($image, 255, 255, 255, 127);
imagefilledrectangle ($first_im, $width/2, 0, $width, $height, $transparent);
imagealphablending($first_im,false);
imagesavealpha($first_im,true);
unlink('newfile.png');
$second_im = imagecreatefrompng('newfile_2.png');
$dest = imagecreatetruecolor($width/2, $height);
imagecopy ($first_im, $second_im,$width/2, 0 , 0, 0, $width, $height);//
imagesavealpha($first_im,true);
imagepng($first_im, 'Адрес файла куда надо сохранить измененную картинку');
imagedestroy($first_im);
imagedestroy($second_im);
unlink ('newfile_2.png');
Вот и все, файл сохраниться по адресу который Вы укажете.
Результат можно посмотреть на этой странице
Комментарии