Question

J'ai remarqué que Color STRL de System.Drawing représente la couleur dans ArgB Espace de couleur.Donc, il y a quelques questions:

  • Comment convertir une image Between ArgB et YUV en C #?J'ai trouvé des formules décrivant la conversion de RVB à Yuv.Alors, que dois-je faire avec Alpha Channel?
  • Y a-t-il des bibliothèques gratuites / essais prenant en charge différents espaces de couleurs?Ou comment puis-je la mettre en œuvre moi-même de la meilleure manière?
  • Comment puis-je représenter «bitmap» comme une matrice 2D avec la capacité de itérer sur elle?L'héritage est-il le seul moyen d'accomplir cela?

    c'est tout encore)

    merci!

Était-ce utile?

La solution

Vous ne pouvez pas convertir directement ArgB en YUV (sans perte) Cause YUV ne contient aucune information alpha.

Selon ce que vous voulez faire de la couleur après avoir ces possibilités:

  • Vous venez de couper l'alpha et de rejeter la transparence

  • vous convertiez en Ayuv qui contient Aussi un canal alpha

    conversion entre les espaces de couleur

    Une possibilité de convertir un bitmap en une octet [] est de l'écrire dans une mémoire Mémoire et de la lire mordon sage.

    MemoryStream stream = new MemoryStream();
    bitmap.Save(stream, ImageFormat.Bmp);
    byte[] data = stream.ToArray();
    

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top