Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Galera, to meio perdido, vê se alguém pode me ajudar.
Preciso fazer um resize de uma imagem e depois disso mostrar o meio da imagem, ou seja de uma imagem 400x300, defino o tamanho do meio com 200 e ele corta 100 de baixo, 100 do alto e fica 200x300
O resize eu já trabalho com um código que funciona, só não consigo incorporar a este código o que corta a imagem.
resize.php
<?PHP define(PATH_IMG, 'fotos'); // pasta onde fica as fotos//define($MAX_WIDTH, 210); // exemplo de largura//define($MAX_HEIGHT,170); // exemplo de altura//$image_file = str_replace('..', '', $_SERVER['QUERY_STRING']); @extract($_GET); // pega w. e h. da foto$MAX_WIDTH = $w;$MAX_HEIGHT = $h;$image_file = str_replace('..', '', $foto); $image_path = PATH_IMG . '/'.$image_file; $img = null; $extensao = strtolower(end(explode('.', $image_path))); if ($extensao == 'jpg' || $extensao == 'jpeg') { $img = @imagecreatefromjpeg($image_path); } else if ($extensao == 'png') { $img = @imagecreatefrompng($image_path); } else if ($extensao == 'gif') { $img = @imagecreatefromgif($image_path); } if ($img) { $width = imagesx($img); $height = imagesy($img); $scale = min($MAX_WIDTH/$width, $MAX_HEIGHT/$height); if ($scale < 1) { $new_width = floor($scale*$width); $new_height = floor($scale*$height); $tmp_img = imagecreatetruecolor($new_width, $new_height); imagecopyresized($tmp_img, $img, 0, 0, 0, 0, $new_width, $new_height, $width, $height); imagedestroy($img); $img = $tmp_img; } } if (!$img) { $img = imagecreate($MAX_WIDTH, $MAX_HEIGHT); imagecolorallocate($img,204,204,204); $c = imagecolorallocate($img,153,153,153); $c1 = imagecolorallocate($img,0,0,0); imageline($img,0,0,$MAX_WIDTH,$MAX_HEIGHT,$c); imageline($img,$MAX_WIDTH,0,0,$MAX_HEIGHT,$c); imagestring($img, 2, 12, 55, 'erro ao carregar imagem:',$c1 ); imagestring($img, 2, 12, 75, $foto,$c1 ); } header('Content-type: image/jpeg'); imagejpeg($img); ?>
corta_imagem.php
<?$img = imagecreatefromjpeg("imagem.jpg");$tamanhoDoMeio = 200;$altura = imagesy($img);$novaImg = imagecreatetruecolor(imagesx($img),$tamanhoDoMeio);$ordenada = ($altura/2)-($tamanhoDoMeio/2);imagecopy($novaImg,$img,0,0,0,$ordenada,imagesx($img),$tamanhoDoMeio);imagejpeg($novaImg);?>
Como poderia incorporar esse código do corta_imagem junto ao resize.
Tentei usar uns exemplos de resize mais facéis no site php.net mas não obtivesse resultado.
Valeu, se alguém puder me auxiliar fico grato.
Carregando comentários...