Объединить два изображения и служить в качестве base64?

#php #base64

#php #base64

Вопрос:

Возможно ли объединить два изображения в одно и использовать их как base64?

Я предполагаю, что нет, поскольку нет подлинного реального изображения, но подумал, что я бы спросил, если я что-то недопонимаю.

Например, у меня есть следующее — img.php файл:

 $dest = imagecreatefrompng('myimg.png');
$src = imagecreatefrompng('myimg1.png');
imagealphablending($dest, false);
imagesavealpha($dest, true);
imagecopymerge($dest, $src, 10, 9, 0, 0, 181, 180, 100);
header('Content-Type: image/png');
imagepng($dest);
imagedestroy($dest);
imagedestroy($src);
  

Возможно ли вообще тогда

 base64_encode(file_get_contents(img.php)))
  

Очевидно, я попытался, и это не сработало, поэтому мне любопытно, просто ли я делаю это неправильно, или это просто невозможно.

ВОПРОС ОБ ОБНОВЛЕНИИ

Так что, по-видимому, это должно работать, но, похоже, у меня это не работает.

Вот самый простой код:

 $abs_path = '/home/user/web_dir/path/to/img.php';
$rel_path = '/path/to/img.php';
$data = file_get_contents($abs_path);
echo $data; // should return crazy characters on the screen
echo '<br><img src="'.$rel_path.'">'; // should return the image as an image
  

Изображение возвращается отлично, $data ничего не возвращает. Оба пути верны. Ошибки не возвращаются.

Если я запускаю

 $test = base64_encode($data);
echo $test;
  

созданный base64 не возвращает действительное изображение. просто пустой контейнер.

Комментарии:

1. Что вы подразумеваете под «это не работает»? Это, конечно , возможно, почему бы и нет? Такое «объединенное» изображение — это не что иное, как изображение.

2. @arkascha Я обновил вопрос.

3. Определение «слияния» здесь не так ясно… не могли бы вы, пожалуйста, объяснить, что именно вы пытаетесь сделать с двумя изображениями?

4. @Dekel эм …. хорошо??? определение merge, которое я использую, совпадает с тем, которое используется imagecopymerge() из php. То, что я пытаюсь сделать с изображениями, довольно просто … imagealphablending(), imagesavealpha(), imagecopymerge(), вывод, кодирование как база 64, echo.

5. Ваше использование file_get_contents неверно. в настоящее время вы делаете file_get_contents('/home/user/web_dir/path/to/img.php'); следующее (что дает содержимое вашего php-кода, а не возвращаемые данные запущенного php img.php )