Bienvenido a datoweb.com!! En este foro podrás encontrar ayuda sobre diseño y desarrollo web en general. Si quieres formar parte de esta comunidad para pedir ayuda o colaborar ayudando a otros usuarios del foro solo tienes que registrarte desde el siguiente enlace: Registrarse en el Foro

Ayuda en cortar una imagen

Hola!
como puedo cortar o redimenzionar una imagen con php
es para cortar una imagen para el perfil
Gracias
5
Puntos
1468
Visitas
4
Resp
Por pablo hace 106 meses
Experto
Respuesta #1
Buenas te voy a poner un ejemplo de como cortar una imagen con php, decirte que las variables $_POST tienes que pasárselas de alguna manera por ejemplo con ajax.

Código
<?php

//Parametros para cortar la imagen
$dst_x = 0;
$dst_y = 0;
$src_x = $_POST['izquierda'];// Crop Start X
$src_y = $_POST['arriba'];// Crop Srart Y
$dst_w = $_POST['ancho'];// Thumb width
$dst_h = $_POST['alto'];// Thumb height
$src_w = $_POST['ancho'];// $src_x + $dst_w
$src_h = $_POST['alto'];// $src_y + $dst_h

$dst_image = imagecreatetruecolor($dst_w,$dst_h);
//Nombre de la imagen a cortar en este caso Desert.jpg
$src_image = imagecreatefromjpeg("Desert.jpg");
imagecopyresampled($dst_image, $src_image, $dst_x, $dst_y, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h);
//Nombre de la nueva imagen ya cortada en este caso nueva.jpg
imagejpeg($dst_image, "nueva.jpg");

?>
también puedes optar por hacer un recorte estático asignando un numero de pixeles fijo
<?php

//Parametros para cortar la imagen
$dst_x = 0;
$dst_y = 0;
$src_x = 50;// Crop Start X
$src_y = 50;// Crop Srart Y
$dst_w = 50;// Thumb width
$dst_h = 50;// Thumb height
$src_w = 50;// $src_x + $dst_w
$src_h = 50;// $src_y + $dst_h

$dst_image = imagecreatetruecolor($dst_w,$dst_h);
//Nombre de la imagen a cortar en este caso Desert.jpg
$src_image = imagecreatefromjpeg("Desert.jpg");
imagecopyresampled($dst_image, $src_image, $dst_x, $dst_y, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h);
//Nombre de la nueva imagen ya cortada en este caso nueva.jpg
imagejpeg($dst_image, "nueva.jpg");

?>
el problema es que así no queda recortada al gusto, ya tienes una base prueba y nos cuentas
5
Puntos
Por alber hace 106 meses
Administrador
Respuesta #2
Hola!
Muchisimas gracias buen aporte +5
Saludos
0
Puntos
Por pablo hace 106 meses
Experto
Respuesta #3
pablo dijo:
Hola!
Muchisimas gracias buen aporte +5
Saludos
gracias, me alegro de que sirva de ayuda!
0
Puntos
Por alber hace 106 meses
Administrador
Respuesta #4
Hola jose!
se pudriera implementar con jquery el mismo codigo
por que yo ize como un pop-ups con jquery que lo quiero cortar
por ej este es el codigo cuado se sube la foto
user/cort.php
<?
//Parametros para cortar la imagen
$dst_x = 0;
$dst_y = 0;
$src_x = $_POST['izquierda'];// Crop Start X
$src_y = $_POST['arriba'];// Crop Srart Y
$dst_w = $_POST['ancho'];// Thumb width
$dst_h = $_POST['alto'];// Thumb height
$src_w = $_POST['ancho'];// $src_x + $dst_w
$src_h = $_POST['alto'];// $src_y + $dst_h

$dst_image = imagecreatetruecolor($dst_w,$dst_h);
//Nombre de la imagen a cortar en este caso Desert.jpg
$src_image = imagecreatefromjpeg($_FILES['new_avatar']['name']);
imagecopyresampled($dst_image, $src_image, $dst_x, $dst_y, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h);
//Nombre de la nueva imagen ya cortada en este caso nueva.jpg
imagejpeg($dst_image, "nueva.jpg");






if(isset($_FILES['new_avatar'])){echo'sds';}else{echo'ersror';}
echo 'a:'.$arriba.' iz:'.$izquierda.'anc:'.$ancho.' Alto:'.$alto.' extencion:'.$extension.' delte:'.$delete;


if(isset($_FILES['new_avatar'])){echo'sds';}else{echo'error';}
echo 'a:'.$arriba.' iz:'.$izquierda.'anc:'.$ancho.' Alto:'.$alto.' extencion:'.$extensionimg.' delte:'.$delete;
## aqui va la config  

## aqui va la config  




?>


user/photo.php
<?php
require('../Connections/Conexion.php');   
if(isset($_FILES['new_avatar'])){
    
    
       
 $nombre = $_FILES['new_avatar']['name'];
  $nombre_tmp = $_FILES['new_avatar']['tmp_name'];
  $tipo = $_FILES['new_avatar']['type'];
  $tamano = $_FILES['new_avatar']['size'];
 
  $ext_permitidas = array('jpg','jpeg','gif','png');
  $partes_nombre = explode('.', $nombre);
  $extension = end( $partes_nombre );
  $ext_correcta = in_array($extension, $ext_permitidas);
 
  $tipo_correcto = preg_match('/^image\/(pjpeg|jpeg|gif|png)$/', $tipo);
 
  $limite = 500 * 5024;


if( $ext_correcta && $tipo_correcto && $tamano <= $limite){
    
    mkdir('upload/'.$_COOKIE['maid']);
    
$updateSQL = sprintf("UPDATE m_users SET photo=%s WHERE id=%s",
GetSQLValueString('user/upload/'.$_COOKIE['maid'].'/'.base64_encode($nombre).'.'.$extension, "text"),
                    GetSQLValueString($_COOKIE['maid'], "int"));
mysql_select_db($database_conexion, $conexion);
$Result1 = mysql_query($updateSQL, $conexion) or die(mysql_error());
    
    
    
move_uploaded_file($nombre_tmp,'upload/'.$_COOKIE['maid'].'/' . base64_encode($nombre).'.'.$extension);
    echo $urlWeb.('user/upload/'.$_COOKIE['maid'].'/'.base64_encode($nombre).'.'.$extension);    
}else{echo'nosubida';}




    


}else{echo'error';
}
?>
0
Puntos
Por pablo hace 106 meses
Experto
Compartir en facebook
Compartir en twitter
Compartir
Para comentar Inicia sesión o Registrate