Salvar Imagens pelo Flash no botão direito

Salvar Imagens pelo Flash no botão direito

Olá Flashers de plantão,

Bom esse é o meu primeiro tutorial, mas ja estou louco para fazer mais ;)

Neste vamos aprender a fazer uma interação entre Flash e PHP, para que possamos inserir em uma imagem dinâmica , através da Classe ContextMenu do Flash. Então vamos a diversão:

1º – O Código PHP:

<?php
//pegando a variável file passada pelo getURL do FLASH;
$fileVirtual = $_REQUEST["file"];
//montando o nome final do arquivo…
$fileAtual = explode(“/”, $fileVirtual);
$fileAtual = $fileAtual[sizeof($fileAtual)-1];
//abrindo stream de código do arquivo….
$file = fopen($fileVirtual,”r”);
$content = fread($file, filesize($fileVirtual));
//definindo tipo do arquivo para download…
$tipo = “image/jpeg”;
//definindo header para ação, e emitindo código do arquivo…
header(“Content-type: $tipo”);
header(“Content-Disposition: attachment; filename=$fileAtual”);
echo $content;
?>

Salve o Arquivo na pasta do onde será publicado o SWF, com o nome de download.php.

2º – Vamos ao Flash:

Crie um movie de tamanho e fps livres, e você já pode criar duas camadas: Actions & mcAlvo. E agora logo após no primeiro frame crie o seguinte MovieClip:

_root: Actions.

3º – As Ações do Flash:

//criando objetos e demais…
//movieclip loader para carregamento de imagem e seu listener…
var mvlImg:MovieClipLoader = new MovieClipLoader();
var objImg:Object = new Object();
//criando menu direito…
var menuDirImg:ContextMenu = new ContextMenu();
var clickSalva:ContextMenuItem = new ContextMenuItem();
//função responsável pelo click da imagem
clickSalva.onSelect = function(obj) {
//pegando variável file com a localização da imagem e passando ao PHP por getURL!
var img = obj._parent.file;
getURL(“download.php?file=” add img);
};
clickSalva.caption = “Salvar Imagem…”;
clickSalva.separatorBefore = true;
clickSalva.enabled = true;
//elimine essa linha caso queira que as opções padrão do menu direito apareçam
menuDirImg.hideBuiltInItems();
menuDirImg.customItems = [clickSalva];
//adicionando listener e defindo botão direito da imagem somente quando ela estiver carregada…
objImg.onLoadComplete = function(){
mcAlvo.hitBt.menu = menuDirImg;
}
mvlImg.addListener(objImg);
//definindo variável ao mcAlvo de localização da imagem…
mcAlvo.file = “foto_load.jpg”;
// e por fim dando o load na imagem, e com o carregamento da mesma nosso Salvar Imagem, ja estará funcionanodo ;)
mvlImg.loadClip(mcAlvo.file, mcAlvo.alvo);
//
//opcional, se vc quer q o mãozinha do hitBt suma…
mcAlvo.hitBt.useHandCursor = false;

4º Só testar:

Agora e so testar pessoal, rodando em qualquer server PHP ja vamos ter um preview:

www.lucasferreira.com

Escrito por Lucasferreira on maio 5, 2005. Arquivado em Flash. Você pode seguir as respostas a esse artigo pelo RSS 2.0. Você pode deixar respostas para esse artigo

2 respostas a Salvar Imagens pelo Flash no botão direito

  1. É possível por exemplo: fazer um filme no Flash 8 e colocar botões para que as pessoas possam IMPRIMIR, ou SALVAR COMO IMAGEM NO COMPUTADOR, qualquer parte do filme, ou seja o frame que esta sendo visualizado no momento??

    Se sim o que é necessário fazer??

  2. Nao funciona.
    Erro:

    **Error** Scene=Scene 1, layer=actions, frame=1:Line 12: This type of quotation mark is not allowed in ActionScript. Please change it to a standard (straight) double quote.
    getURL(“download.php?file=” add img);

    **Error** Scene=Scene 1, layer=actions, frame=1:Line 14: This type of quotation mark is not allowed in ActionScript. Please change it to a standard (straight) double quote.
    clickSalva.caption = “Salvar Imagem…”;

    **Error** Scene=Scene 1, layer=actions, frame=1:Line 26: This type of quotation mark is not allowed in ActionScript. Please change it to a standard (straight) double quote.
    mcAlvo.file = “foto_load.jpg”;

    Total ActionScript Errors: 3 Reported Errors: 3

Deixe uma resposta

O seu endereço de email não será publicado Campos obrigatórios são marcados *

*

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>