Estoy tratando de obtener los datos de píxeles de un objeto WPF BitmapSource
. Según tengo entendido, esto se puede lograr llamando a su método CopyPixels
. Este método necesita un parámetro de zancada, que no sé cómo obtener. Hasta donde yo sé, zancada es el valor que se utiliza al entrar en la matriz durante la lectura o la copia. ¿Cuál sería el valor adecuado de zancada para cualquier BitmapSource?BitmapSource.CopyPixels: ¿cuál es un buen valor para la zancada?
12
A
Respuesta
20
Puede usar stride = pixel_size * image_width value. Por ejemplo, para mapa de bits RGBA con ancho de 100 píxeles, paso = 400.
Algunas aplicaciones pueden requerir una alineación de línea especial. Por ejemplo, los mapas de bits GDI de Windows requieren una alineación de línea de 32 bits. En este caso, para el mapa de bits RGB con ancho = 33, el valor de paso 33 * 3 = 99 debe cambiarse a 100, para tener una alineación de líneas de 32 bits en la matriz de destino.
Generalmente, debe conocer los requisitos del conjunto de destino. Si no hay requisitos especiales, use pixel_size * image_width por defecto.
Cuestiones relacionadas
- 1. drawBitmap() y setPixels(): ¿cuál es la zancada?
- 2. ¿Cuál es un buen enfoque para estudiar OpenGL es 2.0?
- 3. ¿La opción de ajustar un valor es un buen patrón?
- 4. ¿Es un buen diseño para devolver el valor por parámetro?
- 5. ¿Cuál es un buen proceso para escribir tarjetas de historia?
- 6. ¿Cuál es un buen nombre para esta mónada tipo estado
- 7. ¿Cuál es un buen valor de MaxLo para el algoritmo de HiLo?
- 8. ¿Cuál es un buen proyecto para aprender OpenCL?
- 9. ¿Cuál es un buen paquete estadístico de matemáticas para .Net?
- 10. ¿Cuál es un buen recurso para aprender XNA?
- 11. Estadísticas de GSL, ¿qué es zancada?
- 12. ¿Es Symfony un buen marco para aprender?
- 13. ¿Cuál es un buen método para desinfectar toda la matriz de $ _POST en php?
- 14. ¿RESTKit es un buen reemplazo para ASIHTTPRequest?
- 15. ¿Qué es un buen escaparate para Clojure?
- 16. ¿Cuál es la información correcta para el caché? ¿Cuál es un buen tiempo de carga de página?
- 17. ¿Cuál es un buen algoritmo para atravesar un Trie para verificar las sugerencias de ortografía?
- 18. ¿Cuál es su idea para un buen proyecto de AI para un grupo de estudiantes universitarios?
- 19. ¿Cuál es un buen ejemplo de una aplicación Java Swing?
- 20. ¿Cuál es un buen nombre para la clase que crea fábricas? (FooFactoryFactory suena tonto OMI)
- 21. ¿Cuál es un buen tamaño de búfer para la programación de socket?
- 22. ¿Cuál es un buen lugar para almacenar la configuración en Google App Engine (python)
- 23. ¿Cuál es un buen método para evitar que un usuario envíe un formulario dos veces?
- 24. ¿Cuál es un buen tamaño de método promedio?
- 25. ¿Qué es un buen editor de texto para la nube?
- 26. ¿Cuál es un buen patrón de diseño para los valores de retorno del método web?
- 27. ¿Cuál es un buen enfoque para desarrollar un simple generador/verificador de números de serie?
- 28. ¿Cuál es un buen color de fondo predeterminado para un cuadro de diálogo WPF?
- 29. ¿Cuál es un buen ejemplo de un método __eq__ para una clase de colección?
- 30. ¿Cuál es un buen patrón para escribir pruebas unitarias dentro de un cuaderno de Mathematica?
Así que supongo que es el tamaño de píxel en bytes, entonces? –
Sí, este es el tamaño de píxel en bytes. La propiedad BitmapSource.Format devuelve la estructura PixelFormat. Por ejemplo, el tamaño de píxel para Bgr32 es 4, para Bgr24 - 3, para Gray8 - 1 etc. Copiando datos de mapa de bits en una matriz, necesita saber exactamente la estructura resultante de la matriz, y está definida por la propiedad Format. –
Muchas gracias. –