Преобразование объекта изображения PHP в массив байтов для AMFPHP

#php #flash #bytearray #amfphp

#php #flash #массивы #amfphp

Вопрос:

У меня есть объект изображения PHP, созданный с помощью imagecreatetruecolor (). Я хотел бы отправить это через AMFPHP на Flash. Я понимаю, что лучшим форматом является использование ByteArray. Как я могу добиться этого, не записывая изображение на диск?

Спасибо, Джош

Ответ №1:

Вы не можете передать необработанный ресурс, но обычный способ действий — использовать ob_start() перед imagepng/imagejpeg/imagegif функциями и получить его в переменной с помощью ob_get_clean() . Как это работает с AMFPHP amp; ByteArrays — это другой вопрос, у меня нет опыта работы с ними.

 <?php
$img = imagecreatetruecolor(30,40);
ob_start();
imagepng($img);
$bytes = ob_get_clean();
  

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

1. можете ли вы дать мне какой-нибудь пример кода для этого. бит amfphp меня устраивает.

2. Flash не распознает результат как допустимый ByteArray — есть другие идеи?

3. Я понятия не имею, что это ожидает в качестве входных данных. Есть какие-нибудь краткие документы по этому поводу? (и это еще не ByteArray, вы делаете что-то вроде $barr = new ByteArray($bytes); , я надеюсь?).

Ответ №2:

Вы имеете в виду что-то вроде этого:

 imagepng($resource);
  

Это отправит изображение из памяти в браузер