Ir para conteúdo
Fórum Script Brasil
  • 0

Como cortar imagem e salvar com php gd?


Wesker

Pergunta

Estou tentando utilizar o jcrop + php gd para fazer cortes em imagem e salvar em outro diretorio porem não sei qual o problema do meu codigo:

<?php

if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
	$targ_w = $targ_h = 150;
	$jpeg_quality = 90;

	$src = 'teste/imagem.jpg';
	$img_r = imagecreatefromjpeg($src);
	$dst_r = ImageCreateTrueColor( $targ_w, $targ_h );

	imagecopyresampled($dst_r,$img_r,0,0,$_POST['x'],$_POST['y'],
	$targ_w,$targ_h,$_POST['w'],$_POST['h']);

	header('Content-type: image/jpeg');
	imagejpeg($dst_r,null,$jpeg_quality);

	exit;
}

?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>

		<script src="http://deepliquid.com/Jcrop/js/jquery.Jcrop.min.js"></script>
		<script src="../js/jquery.Jcrop.js"></script>
		<link rel="stylesheet" href="../css/jquery.Jcrop.css" type="text/css" />
		<link rel="stylesheet" href="demo_files/demos.css" type="text/css" />

		<script language="Javascript">

			$(function(){

				$('#cropbox').Jcrop({
					aspectRatio: 1,
					onSelect: updateCoords
				});

			});

			function updateCoords(c)
			{
				$('#x').val(c.x);
				$('#y').val(c.y);
				$('#w').val(c.w);
				$('#h').val(c.h);
			};

			function checkCoords()
			{
				if (parseInt($('#w').val())) return true;
				alert('Please select a crop region then press submit.');
				return false;
			};

		</script>

	</head>

	<body>

	<div id="outer">
	<div class="jcExample">
	<div class="article">

		<h1>Crop jQuery</h1>

		<img src="teste/imagem.jpg" id="cropbox" />
		<form action="crop.php" method="post" onsubmit="return checkCoords();">
			<input type="hidden" id="x" name="x" />
			<input type="hidden" id="y" name="y" />
			<input type="hidden" id="w" name="w" />
			<input type="hidden" id="h" name="h" />
			<input type="submit" value="Crop Image" />
		</form>

	</div>
	</div>
	</div>
	</body>

</html>

Obs: Esse codigo e um dos exemplos que vem dentro do jcrop!

Eu queria fazer o seguinte carregar a imagem, depois cortar a area desejada, enviar por post para mesma pagina apos isso cortar com a biblioteca gd do php, e depois salvar a imagem em um diretorio especifico.

alguém me ajuda !

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

///Leia com atenção e vai por mim///

Wesker. já tentei usar este código também mas nunca é tão eficiente. Sei que pode ser trabalhoso, mas procure estudar mais a biblioteca GD e até mesmo o jquery a fundo. No meu caso tive que estudar muito e achei soluções. Criei meu próprio código php pra isso.

Quando eu salvo deixo a imagem original porem com qualidade menor e tamanho maximo aceito de 1280px de largura ou altura. crio outro arquivo recortado de forma quadrada perfeita do mesmo arquivo e uma miniatura do mesmo.

Busquei meios de resolver pois assim como vejo você está passando por isso.

Os metodos createimage da GD são muito bons. Leia sobre e fique atento ao eixo X e Y da foto, tente fazer updates de fotos testando isso.

Só assim você vai entender como funciona. O jquery ou qualquer metodo é só uma parte visual, por que o PHP é quem faz toda mágica.

Então vai por mim, estuda com calma a GD na parte de criação da foto, senta com calma e procura assuntos mesmo em inglês. (traduz)

Ai sim você vai fazer um código do seu jeito. Digo isso por que assim você vai fazer sua manutenção e não tentar alterar códigos prontos que te limitam.

Espero que eu ajude mesmo não sabendo a sua urgência. Qualquer coisa deixa o emai que te ajudo. Ou manda mensagem aqui.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...