Estoy tratando de escribir un script de greasemonkey, y sería preferible que sea capaz de trabajar con imágenes (específicamente, encuentre el píxel más oscuro en una imagen). ¿Hay alguna manera de hacer esto o debo incrustar el flash?¿Manipulación de imágenes con Javascript?
6
A
Respuesta
8
Dado que es específico de Firefox, puede usar un elemento de lienzo. Nunca escribí un script de greasemonkey, así que no sé exactamente cómo lo harías, pero la idea es que crees un nuevo elemento canvas y dibujes la imagen en el lienzo. Luego, puede obtener los valores de píxel del lienzo.
// Create the canvas element
var canvas = document.createElement("canvas");
canvas.width = image.width;
canvas.height = image.height;
// Draw the image onto the canvas
var ctx = canvas.getContext("2d");
ctx.drawImage(image, 0, 0);
// Get the pixel data
var imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);
// Loop through imageData.data - an array with 4 values per pixel: red, green, blue, and alpha
for (int x = 0; x < imageData.width; x++) {
for (int y = 0; y < imageData.height; y++) {
var index = 4 * (y * imageData.width + x);
var r = imageData.data[index];
var g = imageData.data[index + 1];
var b = imageData.data[index + 2];
var a = imageData.data[index + 3];
// Do whatever you need to do with the rgba values
}
}
1
Scrap la parte
var r = imageData.data[index];
var g = imageData.data[index + 1];
var b = imageData.data[index + 2];
var a = imageData.data[index + 3];
, Javascript no pasa por referencia.
Cuestiones relacionadas
- 1. Java: manipulación de imágenes de prueba unitaria
- 2. Manipulación eficiente de imágenes en C#
- 3. Manipulación de imágenes y mapeo de texturas utilizando HTML5 Canvas?
- 4. DOM manipulación con PhantomJS
- 5. Javascript Biblioteca de manipulación de datos JSON
- 6. Manipulación de alertas con UIAutomation
- 7. Problema de rendimiento de manipulación de imágenes F #
- 8. Manipulación de imágenes en asp.net/c# sin System.Drawing/GDI +
- 9. XHTML DOM manipulación con jQuery
- 10. Javascript: Mostrar imágenes con casillas de valores
- 11. Carga diferida de imágenes con degradación (JavaScript)
- 12. Manipulación de tablas con jQuery
- 13. Precarga de JavaScript Imágenes
- 14. Agregar imágenes al html con javascript
- 15. Combinación de matrices/manipulación con Velocity
- 16. Contexto global del objeto de manipulación de eventos de Javascript
- 17. manipulación
- 18. meteoro manipulación
- 19. Formas de dificultar la piratería/inyección/manipulación de código Javascript
- 20. Manipulación de excepción con TPL sin Wait()
- 21. Manipulación de lista en C# con Linq
- 22. Manipulación de etiquetas con acts_as_taggable_on y ActiveAdmin
- 23. integrando manipulación de salidas con knitr
- 24. Manipulación de cadenas con & o + en VB.NET
- 25. ¿Cómo detectar Clics de enlace (texto, imágenes, etc.) con Javascript?
- 26. ¿Detener la carga de imágenes con javascript (lazyload)?
- 27. Forzar el almacenamiento en caché de imágenes con javascript
- 28. Crear/modificar imágenes en JavaScript
- 29. Archivo de imágenes inversas: ¿apila imágenes de abajo hacia arriba con CSS/Javascript?
- 30. jQuery String contiene manipulación?