Pergunta

há uma maneira de determinar o que eu estou passando o direito de matriz de bytes para o MemoryStream se eu quiser criar uma Imagem de matriz de bytes.

MemoryStream mStream = new MemoryStream();
mStream.Write(byteArray, 0, byteArray.Lenth);
Image imgObj = Image.FromStream(mStream);

Como posso, se possível Correto o byteArray que ele é válido byteArray para uma Imagem?

Foi útil?

Solução 4

aqui está a resposta Processamento de imagem para Manequins com C# e o GDI+

OT: eu não sei como colocar links nos comentários, assim que eu colocá-lo nas respostas.

Outras dicas

Este é realmente um sinistro questão, certamente você deve saber onde você está a ler os dados a partir de?Quando você criar uma imagem utilizando Image.FromStream, uma ArgumentException será lançada se ele não pode reconhecer o formato.Por que não utilizar esse mecanismo para a identificação de uma sequência incorrecta de dados, em vez de re-inventar a roda?

Eu tenho feito um pouco de programáticos de manipulação de imagem de mim mesmo.A única coisa que você vai querer fazer é encontrar a especificação para o formato de imagem que você está modificando e certifique-se de que você fazer everythign você deve.Por exemplo, os ficheiros png são fragmentada e ter as somas de verificação em cada secção, para se mudar algo em que bloco você tem que recalcular o checksum no final da seção.

Depois de ler suas perguntas e seus comentários, acho que o que você está tentando é para manipular a imagem, manipulando a matriz de bytes antes de você colocá-lo na classe de Imagem.E agora você diz que sua matriz de bytes é corrupto para esse formato de imagem e como você pode corrigi-lo.

Portanto, a resposta para essa pergunta seria:Você corrompido, você vai corrigi-lo.

Mas para realmente resolver o seu problema, se o seu objetivo é manipular a imagem em si, só carregá-lo em um interims Image e usar o Graphics classe para manipular a imagem.Depois colocar o resultado na real imagem do objeto que você gosta.Pronto, sem qualquer aborrecimento sobre o trabalho na matriz de bytes.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top