ArgB to Yuv && Color espacios en .NET
-
14-11-2019 - |
Pregunta
Noté que la estructura de Color
de System.Drawing
representa el color en el espacio de color argb .Así que hay algunas preguntas:
- ¿Cómo convertir la imagen beetween argb y yuv en C #?Encontré fórmulas que describen la conversión RGB a YUV.Entonces, ¿qué debo hacer con el canal alfa?
- ¿Hay bibliotecas gratuitas / de prueba que admiten diferentes espacios de color?¿O cómo lo implemento yo mismo de la mejor manera?
- ¿Cómo represento el 'mapa de bits' como una matriz 2D con la capacidad de iterarlo?¿La herencia es la única manera de lograr esto?
Todo eso aún)
¡Gracias!
Solución
No puede convertir directamente ARGB a YUV (sin pérdida) Causa YUV no contiene información alfa.
Dependiendo de lo que quieras hacer con el color después de tener estas posibilidades:
-
Acabas de cortar el alfa y descartar la transparencia
-
se convierte en un ayuv que contiene También un canal alfa
conversión entre espacios de color
Una posibilidad de convertir un mapa de bits a un byte [] es escribirlo en una memoria de memoria y leerla en cuanto a la mordida.
MemoryStream stream = new MemoryStream(); bitmap.Save(stream, ImageFormat.Bmp); byte[] data = stream.ToArray();
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow