ARGB para YUV && Cor Espaços .NET
-
14-11-2019 - |
Pergunta
Eu notei que Color
estrutura de System.Drawing
representa a cor em ARGB espaço de cor.Portanto, há algumas perguntas:
- Como converter imagens entre ARGB e YUV em c#?Achei fórmulas que descrevem de RGB para YUV conversão.Então, o que devo fazer com o canal alfa?
- Existem livre/julgamento de bibliotecas que oferecem suporte a diferentes espaços de cor?Ou como faço para implementar-me da melhor forma?
- Como faço para representar a 'Bitmap' como array 2d com capacidade para iterar sobre ele?é uma Herança a única maneira de fazer isso?
Que tudo ainda)
Obrigado!
Solução
Você não pode diretamente converter argb para YUV (sem perda) causa YUV não contém informações de alfa.
Dependendo do que você quer fazer com a cor depois de ter essas possibilidades:
você acabou de cortar o alfa e descartar a transparência
converter para um AYUV que contém também um canal alfa
conversão entre espaços de cor
Uma possibilidade para converter um bitmap em um byte[] é escrever de um memorystream e ler mordida sábio.
MemoryStream stream = new MemoryStream();
bitmap.Save(stream, ImageFormat.Bmp);
byte[] data = stream.ToArray();
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow