2016-06-28 4 views
0

Как встроить динамическое изображение, созданное с помощью GD внутри другого динамического изображения, созданного с помощью GD? Оба файла отлично работают, если они разделены, но когда я пытаюсь использовать один из них, он не работает.Добавить изображение GD внутри другого изображения GD

Изображение 1:

<?php 
header('Content-type: image/png'); 
$image1 = imagecreatefrompng('images/image1.png'); 

//add some texts to image 1 

imagepng($image1); 

imagedestroy($image1); 
?> 

Изображение 2:

<?php 
header('Content-type: image/png'); 
$image2 = imagecreatefrompng('images/image2.png'); 

//add some texts to image 2 

imagepng($image2); 

imagedestroy($image2); 
?> 

Теперь, если я пытаюсь использовать изображение, формируемое в image2.php внутри image1.php:

<?php 
header('Content-type: image/png'); 
$image1 = imagecreatefrompng('images/image1.png'); 
$image2 = imagecreatefromgd('image2.php'); 

//add some texts to image1 
imagecopy($image1, $image2, $x, $y, $src_x, $src_y, $src_w, $src_h); 

imagepng($image1); 

imagedestroy($image1); 
imagedestroy($image2); 
?> 

Любой идеи? Благодаря!

+0

Я не думаю, что imagecreatefromgd принимает Расширение файла .php в качестве входных данных. См. Http://php.net/manual/en/function.imagecreatefromgd.php – Ajay

+0

ну, я протестировал с помощью «imagecreatefrompng», но ни один из них не смог создать изображение, которое я ожидал :( –

+0

Я пробовал свой код с некоторыми значениями $ x, $ y. $ src_x, $ src_y, $ src_w, $ src_h, и это сработало, checkout http://php.net/manual/en/function.imagecopy.php для дальнейшего использования. – Ajay

ответ

0

Отличный !! После тестирования различных решений, вот как это работает. В основном, все изображения, созданные с GD должны быть созданы в том же файле, чтобы отправить одно только изображение в браузере:

<?php 

header('Content-type: image/png'); 
$image1 = imagecreatefrompng('images/image1.png'); 
$image2 = createImage2(); 

//add some texts to image1 
imagecopy($image1, $image2, $x, $y, $src_x, $src_y, $src_w, $src_h); 

imagepng($image1); 

imagedestroy($image1); 
imagedestroy($image2); 



function createimage2() { 
    $image2 = imagecreatefrompng('images/image2.png'); 

    //add some texts to image 2 
    return $image2 
?> 
Смежные вопросы