En muchos de los proyectos en los que he participado he tenido que modificar imágenes para adaptarlas al proyecto. Lo que más he tenido que hacer ha sido redimensionarlas y reducir su peso ya que, a veces, el usuario sube fotos muy pesadas y eso dificulta la carga de ciertas páginas. Gracia a varios programadores he podido realizar dichas operaciones sin mucha dificultad. Y para aportar mi granito de arena he creado una clase para tratar imágenes y la he subido a mi cuenta de github (donde tengo otras clases hechas en php).
Podéis descargaros la clase en la url https://github.com/GonzaloLopezGonzalez/image.
Usar la clase es bastante fácil. Solo hay que instanciar el objeto indicándole la ruta de la imagen a procesar y luego usar los siguientes métodos:
- compressImage: Reduce el peso de la imagen. Hay que indicarle la ruta y el nombre de la nueva imagen y l calidad de la nueva imagen, de 0 a 9, donde el 0 es la peor calidad.
- resizeImage: Redimensiona la imagen. Hay que indicarle la ruta y el nombre de la nueva imagen y el nuevo ancho y alto de la imagen.
- rotateImage: Redimensiona la imagen. Hay que indicarle la ruta y el nombre de la nueva imagen y los grados en los que va a rotar la imagen de 0 a 360 si se pone más de 360 es como si se rotase la imagen una vuelta y los graods de más.
- grayFilter: Redimensiona la imagen. Hay que indicarle la ruta y el nombre de la nueva imagen. Con ete método se guarda la imagen en escala de grises.
- negativeFilter: Redimensiona la imagen. Hay que indicarle la ruta y el nombre de la nueva imagen. Con ete método se guarda la imagen en negativo.
Espero que esta clase os ayude en vuestros proyectos.