El título explica mucho mi pregunta. Me gustaría poder leer y escribir datos JPEG por píxel usando C#.¿Cómo puedo leer y escribir datos JPEG por píxel?
Estoy pensando en algo en la línea de CreateJPEG(x, y)
la que una imagen JPEG en blanco establecería en la memoria, y me daría un objeto JPEG, y luego algo así como SetPixel(x, y, Color)
y GetPixel(x, y)
el último de los cuales se obtendrá una Color
o algo similar. A continuación, puede llamar a un método Apply()
o Save()
, por ejemplo, para guardar la imagen en un formato estándar legible para JPEG (preferiblemente con opciones de compresión, pero eso no es necesario).
Y supongo que algo de biblioteca C o espacio de nombres hace que todo esto sea un proceso muy fácil, solo me gustaría saber la mejor manera de hacerlo.
Solo tenga en cuenta que cuando cambia un solo píxel de una imagen codificada en JPEG, más píxeles de la imagen cambiarán debido a la compresión sin pérdida que implementa JPEG. –
Solo una nota sobre el formato JPEG, ya que es una compresión con pérdida, entonces el color de un píxel individual puede cambiar entre guardados, incluso si no lo cambiaste directamente, así que no confíes en que los colores de los píxeles permanezcan constantes EDITAR: golpeado :) –
Derecha;) Lo estaba preguntando porque me gustaría intentar escribir algún software de comparación de imágenes, básicamente, con 2 imágenes, produzco un mapa de bits de las diferencias. Sé que ya se ha hecho antes, pero sería una buena práctica para mí, y solo necesitaba un punto rápido en la dirección correcta (algo de lo que SO es realmente bueno, en realidad). :) – qJake