Cuando se mueve el ratón por la superficie de la imagen (realmente de la capa), almacenamos la esquina inferior derecha del marco y modificamos el ancho y alto.
1. function despliegaMarco(e) {
2.
3. if (inicio) {
4. var marco = document.getElementById("marco");
5.
6. // En IE y Opera se usa otra propiedad del evento
7. // El 7 es para evitar que el ratón se solape con el marco y nos dé problemas
8. if (_IE_) {
9. xfin = e.offsetX-7;
10. yfin = e.offsetY-7;
11. } else {
12. xfin = e.layerX-7;
13. yfin = e.layerY-7;
14. }
15.
16. // El 5 es para que haya un tamaño mínimo
17. if (xfin > xini+5) {
18. marco.style.width = (xfin-xini)+"px";
19. }
20. if (yfin > yini+5) {
21. marco.style.height = (yfin-yini)+"px";
22. }
23. }
24. }
Ya tenemos el HTML que nos permite seleccionar la zona de la imagen, ahora solo hace falta el script PHP. El funcionamiento es sencillo, carga la imagen, crea una imagen nueva con el tamaño final que debe tener y copiamos la zona que queremos recortar de la imagen en la nueva imagen. Por último devolvemos la imagen nueva.
1. <?php
2. // Abre la imagen
3. $fichero = getcwd()."/".$_GET["img"];
4.
5. if (preg_match('/.png$/', $fichero)) {
6. $img = imagecreatefrompng($fichero);
7. } else if (preg_match('/.gif$/', $fichero)) {
8. $img = imagecreatefromgif($fichero);
9. } else if (preg_match('/.jpg$/', $fichero)) {
10. $img = imagecreatefromjpeg($fichero);
11. }
12.
13. $xini = $_GET["xini"];
14. $yini = $_GET["yini"];
15. $xfin = $_GET["xfin"];
16. $yfin = $_GET["yfin"];
17.
18. $res = imagecreatetruecolor (
19. $xfin-$xini, $yfin-$yini);
20. imagecopy($res, $img, 0, 0,
21. $xini, $yini,
22. $xfin-$xini, $yfin-$yini);
23.
24. header("Content-type: image/png");
25. imagepng($res);
26. ?>
Se le pueden añadir más funcionalidades, pero para ir empezando creo que está bien así.
Autor: Luis Sacristán
http://sentidoweb.com/2006/04/18/laboratorio-comparar-imagenes-mediante-php.php
Usuarios que han visto este tema también han visto...
- Incluir en PHP un archivo programado en otro lenguaje
- Introducción y Sintaxis Básica
- Subir archivos con PHP
- Utilizar las Cookies en PHP
- Bajar archivos en PHP
- Versión imprimible de este documento
- Enviar por e-mail este documento