descrito neste tutorial tenha o Apache com PHP instalado, ou algum servidor com suporte. Caso voce nao tenha recomendo a instalacao do XAMPP (e de facil instalacao e tem tudo que um programador precisa).Configuracao do AMFPHP:A versao que utilizo neste tutorial e a 1.9 beta, mas versoes posteriores devem funcionar perfeitamente. Baixe o AMFPHP do seguinte link: http://www.amfphp.org/ Copie o conteudo do ZIP para o diretorio onde voce esta criando o projeto, recomendo a estrutura de diretorios como mostrada na imagem abaixo: Para testar o funcionamento e so acessar o diretorio browser do navegador (http://127.0.0.1/www/amf/browser/).Fique entendido que a responsabilidade de gerar a imagem e do Flash, e o servidor deve apenas receber os binarios para gravar em disco. Para gerarmos o codigo da imagem (binario), vamos utilizar a classe JPGEncoder.Exemplo:import flash.display.BitmapData;import flash.utils.ByteArray;import com.adobe.images.JPGEncoder;var bmpData:BitmapData = new BitmapData(width, height);bmpData.draw(MEU_MOVIECLIP);var objJPGEncoder:JPGEncoder = new JPGEncoder(QUALIDADE);var dadosEncode:ByteArray = objJPGEncoder.encode(bmpData);Muito simples nao? O metodo draw da classe BitmapData obtem a imagem atual do clip, criamos uma instancia da JPGEncoder ja passando a qualidade (0 a 100) e por fim encodamos o BitmapData utilizando o metodo encode da nossa instancia da JPGEncoder, ele nos retorna um Array de Bytes (flash.utils.ByteArray).Vamos a parte do actionscript que interessa:private function encode():void{ lblMessage.text = "Codificando dados (JPGEncoder.encode)"; var bmpData:BitmapData = new BitmapData(hit.width, hit.height); bmpData.draw(target); var objJPGEncoder:JPGEncoder = new JPGEncoder(sliderQuality.value); var dadosEncode:ByteArray = objJPGEncoder.encode(bmpData); sendToAmf(dadosEncode);}private function sendToAmf(data:ByteArray):void{ lblMessage.text = "Enviando dados para o AMF..."; _objService = new NetConnection(); _objResponder = new Responder(onResultEvent, onStatusEvent); _objService.connect(_amfGateway); _objService.call("br.com.bsoares.Image.saveDataToFile", _objResponder, data);}private function onResultEvent(result:Object):void{ lblMessage.text = "Abrindo imagem"; navigateToURL(new URLRequest("http://blog.bsoares.com.br/articles/jpgencoder_amfphp/generated_images/image.jpg"), "_blank");}private function onStatusEvent(event:Event):void{ lblMessage.text = "Erro";}Agora a classe Image do PHP:<?phpclass Image{ var $imagePath; public function __construct () { $this->imagePath = "../../../../../generated_images/image.jpg"; } function saveDataToFile($byteArray) { file_put_contents($this->imagePath, $byteArray->data); return $this->imagePath; }}?>O PHP so precisa pegar o ByteArray e salvar em um arquivo.Dica: Para verificar os request usem o Charles Web Debugging Proxy.E isso ai, qualquer duvida so postar um comentario.Conteudo relacionado:Post original: http://blog.bsoares.com.br/remoting/jpgencoder-as3-with-amfphpCodigo fonte do exemplo: http://blog.bsoares.com.br/articles/jpgencoder_amfphp/jpgencoder-amfphp.zipAMFPHP: http://www.amfphp.org/AS3CoreLib: http://code.google.com/p/as3corelib/Charles: http://www.charlesproxy.com/Enjoy