Domanda

Ho notato che Color Struct da System.Drawing rappresenta il colore in ARGB spazio colore.Quindi ci sono alcune domande:

    .
  • Come convertire l'immagine Beetween ARGB e YUV in C #?Ho trovato formule che descrivono RGB alla conversione YUV.Quindi cosa dovrei fare con il canale alfa?
  • Ci sono librerie gratuite / di prova che supportano diversi spazi di colore?O come lo implemendo io stesso nel modo migliore?
  • Come posso rappresentare "bitmap" come array 2D con capacità di iterato su di esso?L'eredità è l'unico modo per realizzare questo?

    Questo è ancora ancora)

    Grazie!

È stato utile?

Soluzione

Non è possibile convertire direttamente ARGB su YUV (senza perdita) causa YUV non contiene informazioni alfa.

A seconda di cosa vuoi fare con il colore dopo aver ricevuto queste possibilità:

    .
  • Hai appena tagliato l'alfa e scartare la trasparenza

  • Converti in un Ayuv che contiene anche un canale alfa

    Conversione tra spazi a colori

    Una possibilità di convertire una bitmap in un byte [] è scriverlo in un memorystream e leggerlo morso saggio.

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top