subir - javascript mostrar imagen
Crear/modificar imágenes en JavaScript (7)
¿Es posible crear y modificar dinámicamente imágenes en un nivel por píxel en JavaScript (en el lado del cliente)? ¿O tiene que hacerse con un servidor basado en un lenguaje, como PHP?
Mi caso de uso es el siguiente:
- El usuario abre la página web y carga la imagen almacenada localmente
- Se muestra una vista previa de la imagen
- El usuario puede modificar la imagen con un conjunto de controles deslizantes (operaciones de nivel de píxel)
- Al final puede descargar la imagen a su HDD local
Al buscar en la web, encontré publicaciones sobre el uso del método de filtrado de IE, pero no encontré nada sobre las funciones de edición de imágenes en JavaScript.
Algunos navegadores admiten el lienzo: http://developer.mozilla.org/En/Drawing_Graphics_with_Canvas
Es posible que desee comprobar Processing.js . John Resig de jQuery fama lo escribió. Admite el procesamiento de píxeles, desafortunadamente solo Firefox 3 puede manejarlo de manera suficiente.
Esto tiene que hacerse en el lado del servidor. Una cosa que podría ver es permitir que toda la edición vaya del lado del cliente, y al final, enviar la imagen final (a través de AJAX) al servidor para permitir que se la devuelva como el tipo MIME correcto y correctamente. lleno.
La manipulación local de imágenes en JavaScript debería ser posible. Eche un vistazo al Defensor del Favicon . ;-) La pregunta es cómo obtener la imagen original del sistema de archivos en su página (no sé de otra manera que hacer una carga HTTP al servidor primero).
Prueba el Retargetizador de imagen de Allicorn : parece que eso es lo que estás buscando.
Puede imaginar un conjunto de herramientas JS que le permitirán al usuario definir qué tipo de transformación quiere hacer, pero el trabajo final de transformación DEBE hacerse desde el lado del servidor. JS en el lado del cliente no puede crear un archivo, por razones de seguridad.
También mire los URI de datos (¡aunque las versiones de IE inferiores a 8 no los admiten, desafortunadamente!)