Um SWF passa os pixels para o php que cria a imagem no servidor, bom,
esta parte está tudo certo, porém gostaria antes de armazenar a imagem
no servidor, cortá-la em um determinado local... já andei pesquisando e
encontrei algumas coisas, mas nada funcionou, se alguém puder me ajudar,
segue o código:
PS: a imagem, pixels, vindos do SWF tem 350 x 100 px, quero cortar
no 50 x 50 px e salvar uma imagem com 300 x 100 px.
<?php error_reporting(E_ALL); //função responsável pela exportação do MC... function exporta() { global $_REQUEST; //verificando se o GD está instalado... if(!function_exists("imagecreate")) die("Para exportar o MC, vc necessitará da biblioteca GD instalada!"); //resgatando variáveis do flash e tb verificamos se as mesmas foram preenchidas... $w = (isset($_REQUEST['width']) && strlen($_REQUEST['width']) > 0) ? intval($_REQUEST['width']) : 3; $h = (isset($_REQUEST['height']) && strlen($_REQUEST['height']) > 0) ? intval($_REQUEST['height']) : 3; $s = (isset($_REQUEST['dataString']) && strlen($_REQUEST['dataString']) > 0) ? $_REQUEST['dataString'] : "2550000,2550000\n2550000,2550000"; $ext = (isset($_REQUEST['format']) && strlen($_REQUEST['format']) > 0) ? $_REQUEST['format'] : "jpg"; $nome = (isset($_REQUEST['filename']) && strlen($_REQUEST['filename']) > 0) ? $_REQUEST['filename'] : "imagem"; //criando image do GD... $image = (function_exists("imagecreatetruecolor")) ? imagecreatetruecolor($w, $h) : imagecreate(350, 150); //preenchendo o fundo da imagem de branco...os pixels brancos nao vem do flash por uma economia... imagefill($image, 0, 0, 0xFFFFFF); $color = explode(chr(13), $s); for($i = 0; $i < $h; $i++){ $linha = explode(",", $color[$i]); for($j = 0; $j < $w; $j++){ $hex = $linha[$j]; if(strlen($hex) > 0){ //convertendo HEX para DECIMAL... while(strlen($hex) < 6) $hex = "0" . $hex; $r = hexdec(substr($hex, 0, 2)); $g = hexdec(substr($hex, 2, 2)); $b = hexdec(substr($hex, 4, 2)); //alocando o rgb a imagem... $tmp = imagecolorallocate($image, $r, $g, $b); //inserindo pixel na nova imagem... imagesetpixel($image, $j, $i, $tmp); } } } //salvando o arquivo de imagem, de acordo com o tipo especificado... header("Content-type: image/jpeg"); imagejpeg($image, "imagens/imagemCerta.jpg", 100); //inicio da função para cortar imagem------------------------------------------- // $filename = "imagens/imagemCerta.jpg"; // Content type // header('Content-type: image/jpeg'); // Nova imagem com Novo tamanho // $image_p = imagecreatetruecolor(300, 100); // $image_x = imagecreatefromjpeg($filename); // imagecopyresampled($image_p, $image_x, 0, 0, 50, 50, 300, 100, 350, 150); // Output // imagejpeg($image_p, "imagens/TamanhoCerto.jpg", 100); //fim da função de cortar a imagem------------------------------------------- //limpando memória... imagedestroy($image); //resposta para o Flash... echo "salvo=true&file=" . $nome . "&"; } //executando função export... exporta(); ?>
Por favor, se alguém puder me ajudar...
Obrigado, abraço...
Edição feita por: deqr, 08/02/2008, 07:20.