Jump to content
Fórum Script Brasil
  • 0

Como cortar imagem e salvar com php gd?


Wesker
 Share

Question

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 to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Forum Statistics

    • Total Topics
      149.8k
    • Total Posts
      646.6k
×
×
  • Create New...