Usuário com melhor resposta
Carregar Imagens desde Arquivo

Pergunta
-
Preciso ler uma seqüência de imagens que estão armazenadas em um arquivo de formato próprio, criado e mantido por outro aplicativo.
Esse arquivo possui codificação UTF-8 e gravação em formato binário, "little-endian".
Em tese, seguindo o layout que me foi informado, tudo ocorre bem até o ponto em que a rotina lê (em uma matriz) os bytes relativos à primeira imagem.
No momento em que tento gerar um novo Bitmap à partir de um MemoryStream baseado naquela matriz de bytes específica, ocorre um erro, sendo que a mensagem de erro é apenas "Parâmetros Inválidos".
A definição de layout desse arquivo é, conforme seu criador, a seguinte:
...
1. Atualmente o header do arquivo de ImageSet tem o seguinte formato:
· 4 bytes com a assinatura 0x74657366, para confirmar que é valido.
· 4 bytes com a versão do arquivo (hoje é 0x01000000, e quando mudar o layout, eu altero esse valor).
· 4 bytes com o contador de blocos.2. Depois desse header há um bloco por imagem, com o seguinte layout:
· 4 bytes com o tamanho da imagem.
· Imagem (tipicamente JPEG, mas eventualmente pode conter BMP).
· 4 bytes com o tamanho do template.
· Template (com tamanhos e composições variados, apenas desconsidere este campo).
· 4 bytes com o timestamp da imagem (segundos desde 01/Jan/1970). Esse campo codifica diretamente o valor, sem o prefixo de 4 bytes que aparece nos campos anteriores.
· Um array de floating points (8 bytes cada) contendo o score de cada imagem. O comprimento desse array é o mesmo definido pelo contador que aparece no cabeçalho do arquivo, e como o tamanho é bem conhecido, também dispensa o prefixo de 4 bytes.
· 4 bytes com o tamanho de eventuais comentários.
· Comentário opcional.3. Cada um desses blocos é prefixado de um inteiro de 4 bytes contendo o tamanho Do bloco todo, e eles são armazenados em sequencia no arquivo.
...Alguém poderia me dar um auxílio ?
Grato !
Respostas
-
Boa tarde JLOS,
Obrigado pela participação no Fórum MSDN.
Aquela é a única mensagem de erro?
Atenciosamente,
Robson William Silva
Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita
MSDN Community Support
Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.
- Marcado como Resposta Robson William SilvaModerator sexta-feira, 16 de dezembro de 2016 11:15
Todas as Respostas
-
Boa tarde JLOS,
Obrigado pela participação no Fórum MSDN.
Aquela é a única mensagem de erro?
Atenciosamente,
Robson William Silva
Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita
MSDN Community Support
Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.
- Marcado como Resposta Robson William SilvaModerator sexta-feira, 16 de dezembro de 2016 11:15
-
Bom dia,
Devido a falta de interação do autor dessa pergunta,
essa thread está sendo fechada. Caso o problema ainda
esteja ocorrendo, favor abrir uma nova thread.
Atenciosamente,
Robson William Silva
Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita
MSDN Community Support
Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.