Jump to content


Photo

Criar Imagem


  • Faça o login para participar
Nenhuma resposta neste tópico

#1 deqr

deqr

    12 Horas

  • Usuários
  • 125 posts
  • Sexo:Não informado

Posted 07/02/2008, 16:27

Pessoal, estou com um script que peguei na net que faz o seguinte:
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.

"Na vida não existe perdedores e vencedores, existem os que desistem e os que não desistem."

dani.quadros@gmail.com




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq