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!

¿Fue útil?

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
scroll top