• HomePagina Inicial
  • Blog Mis cosillas
  • Portfolio Mis trabajos
  • Acerca deeste blog y su autor
    • Sobre Mi 
    • Oridoki 
  • ContactarFormulario
  • Categorias

    • Blog
      • Control de Versiones
        • GIT
      • Diseño
      • Frameworks
        • CakePHP
        • CodeIgniter
      • JavaScript
        • EXT JS
        • JQuery
      • Magento
      • Maquetación
        • CSS
        • HTML
      • MiniCodes
      • MySQL
      • PHP
      • Proyectos
      • TextMate
      • Varios
      • Wordpress
    • Portfolio

Recortar Imagenes en PHP

Posted by Adrià Cidre Categories: Blog, PHP Tags: Crop Canvas, PHP, recortar imagenes

Hace un tiempo necesitaba recortar imágenes dinámicamente en PHP para guardarlas en el servidor modificadas. Después de buscar por la red encontré una librería que no está nada mal.

La librería en cuestión es CropCanvas, y podéis encontrarla aquí.

Un ejemplo bastante simple puede ser el siguiente

require_once(MOD_DIR."class.cropcanvas.php");

$sx = $sy = 1;
$ex = $ey = 100;

$cc =& new CropCanvas();
if ($cc->loadImage($imagenInicial))
  {
  $cc->cropToDimensions($sx, $sy, $ex, $ey);
  $cc->saveImage('images/miImagenFinal.jpg');
  }
else
  {
  die("Error");
  }

Este ejemplo simplemente coge una imagen, y la recorta desde la posición (1,1) hasta la posición (100,100). Así de simple.

Share This Post!

Subscribe to our RSS feed. Tweet this! StumbleUpon Reddit Digg This! Bookmark on Delicious Share on Facebook

10 Responses to Recortar Imagenes en PHP

  1. Hola: Estube investigando sobre el tema, porque tambien estoy desarrollando algo parecido, me gustaria saber si da para usar cropcanvas pero con la opcion de una ves recortada la imagen, pueda almacenar en una base de datos mysql.

    gracias

    Posted on 27/03/2009 at 13:48
    |
    msm says
  2. Buenas,

    la verdad es que nunca he guardado una imagen en Base de Datos, creo que es más optimo guardarla en disco, y en base de datos simplemente guardas la referencia a la misma, de esta forma descargas un poco la base de datos y así optimizas su funcionamiento.
    Creo que podrías llegar a hacerlo mediante el siguiente método de la clase:

    $cc->showImage('png')

    Esta función escupe por pantalla la imagen, si lo combinas con funciones de control de salida de la siguiente forma….


    ob_start()
    $cc->showImage('png')
    $myImg = ob_get_contents()

    Creo que ya tienes la imagen en una variable, y por tanto la puedes guardar en BD.

    Espero que te funcione, si tienes alguna duda hazmelo saber ;-)

    Posted on 27/03/2009 at 17:47
    |
    Adrià Cidre says
  3. Cuentame algo…. con esta clase logras reducir el peso de la imagen?… tengo un gran problema tengo un archivo que redimensiona mis imagenes…pero cuando el archivo pesa mas de 3 MB…no la redimensiona…solo estoy buscando bajar el peso de la imagen mediante un scrip PHP para baja el peso a menos de 1 MB.. es posible?

    Posted on 15/04/2009 at 23:49
    |
    Luis says
  4. En principio yo lo he utilizado para reducir las dimensiones de la imagen, y claro obviamente te reduce las dimensiones, de todos modos como puede ser que no te baje el peso de la imagen si pesa más de 3 MB? Puede que el formulario te esté limitando el envío de ficheros de mas de ese tamaño, o que en la configuración de PHP no te permita trabajar con ficheros tan grandes…

    Tal como utilizo yo la clase me suben imagenes de cualquier tamaño, y las redimensiono a 800×600 y reduce el peso de una forma bestial.

    Ya me contarás…

    Posted on 16/04/2009 at 08:17
    |
    Adrià Cidre says
  5. Hola, como estas?
    Me parecio bastante interesante la librería.
    Me podrías ayudar en lo siguiente?
    Necesito crear un formulario que le permita al usuario cargar una imagen, luego automaticamente ésta se recorta de un tamaño 150×200 (la idea es que conserve la escala de la imagen y no solo recorte desde la posicion 1,1) y finalmente sea almacenada en el servidor y la ubicacion en una base de datos con un nombre asignado aleatoriamente (de preferencia un numero).

    saludos, es bastante interesante tu sitio. suerte

    Posted on 28/05/2009 at 18:47
    |
    Victor says
  6. Por lo que entiendo no necesitas hacer un recorte de la imagen, sino hacer la imagen más pequeña pero que mantenga la escala. Eso puedes hacerlo con la librería GD de PHP. Si tienes paciencia intento montarte una entrada los próximos días explicando un poco el tema, sino puedes buscar en google “PHP aspectratio” y ver que es lo que puedes llegar a hacer con la librería GD.

    Saludos y gracias.

    Posted on 28/05/2009 at 20:52
    |
    Adrià Cidre says
  7. Agradesco tu respuesta inmediata. Si puedes ayudarme en el tema te lo agradecería enormemente. Es bastante interesante tu sitio.

    Saludos y estamos en contacto.

    Posted on 28/05/2009 at 23:35
    |
    Victor says
  8. Hola estoy un poco perdido! Lo que yo necesito es que de una imagen (parte meteorologico de toda europa) recortar una pequeña parte (la zona de España) Ya he conseguido cargar la imagen del parte sola. Mi pregunta es, como hago para que me recorte una parte de la imagen…? Gracias de antemano

    Posted on 04/11/2010 at 13:12
    |
    Ignacio says
  9. Pues como dice el ejemplo deberías pasarle a la función cropToDimensions($sx, $sy, $ex, $ey), los parametros desde la posición que quieras (x, y) hasta la posición (x2, y2) que quieras lo que te generaría un cuadrado, solo tienes que ajustar ese cuadro para que coincida con el trozo de españa.
    Espero que te sirva, un saludo!

    Posted on 04/11/2010 at 14:41
    |
    Adrià Cidre says
  10. Good content has a great following of readers,
    seems you have that!

    Posted on 21/12/2010 at 13:46
    |
    melinda nigela says

Deja un comentario Cancelar respuesta

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

*

*

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Search our website

  • Inicio
  • Blog
  • Consultor Web
  • Contactar
  • E-Commerce
  • Oridoki
  • Outsourcing
  • Portfolio
  • Sobre Mi
  • Social Media
© Adrià  Cidre Jugo - 2011