passando o direito BytesArray em MemoryStream para Imagem
-
13-09-2020 - |
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?
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.