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!

Foi útil?

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