Criaste a tua própria biblioteca para ler o exif ou usas uma existente?
Existem algumas que só lêem o início do ficheiro pois toda a metadata
encontra se ai (quer EXIF quer IPTC), evitando ler o ficheiro todo para
memória.

On Mar 29, 2017 12:22 PM, "Hugo Ferreira" <[email protected]> wrote:

> Viva,
>
> Desde que falei no assunto que não mexi mais nesta área mas agora tive
> mesmo de resolver e ficou a funcionar.
> Eu fazia algumas tarefas após tirar a foto com a câmara nativa:
> 1 - Carregar a foto com o Loader que devolve um Bitmap;
> 2 - Redimensionar para um tamanho máximo o BitmapData caso o valor de
> largura fosse superior a um pré-definido;
> 3 - Depois tentava descobrir a orientação da imagem através da técnica
> EXIF (obrigado pela dica) mas sem sucesso.
>
> O problema estava que no tratamento da imagem, a informação original do
> JPEG perdia-se.
>
> Primeiro é necessário executar a técnica EXIF sobre o bytearray original
> (sem qualquer processamento de imagem) e guardar essa informação numa
> variável e só depois seguir o passo 1 e depois o 2.
> Depois verifico a orientação lida e se necessário, roda-se a imagem.
>
> Uma melhoria será guardar a informação da orientação da imagem em cache e
> só fazer essa leitura na primeira vez, pois ler os dados de um JPEG enorme,
> requer bastante processamento, com a qualidade das câmaras de hoje em dia.
>
>
> No dia 23 de março de 2017 às 09:53, Hugo Ferreira <[email protected]
> > escreveu:
>
>> Viva,
>>
>> Cheguei a tentar implemntar isso mas infelizmente que a implementação EXIF
>> que encontrei não funciona.
>> Se depois chegares a alguma conclusão, por favor diz.
>>
>> Obrigado,
>> Hugo.
>>
>> No dia 20 de março de 2017 às 15:12, Hugo Ferreira <
>> [email protected]> escreveu:
>>
>>> Viva,
>>>
>>> É isso mesmo !
>>> Desconhecia o conceito "EXIF" e foi  primeira vez que utilizei a classe
>>> CameraUI e tive de lidar com este tipo de problemas.
>>> Pelo que estive a ler, isto é mesmo assim e não é um bug do AIR ou do
>>> Flex.
>>> Aguns modelos como o Samsung Galaxy S6 devolvem a foto com um ângulo
>>> diferente e outros não.
>>> Eu até já tinha o código feito para rodar (corrigir a rotação) da foto
>>> porque pensava que só acontecia em iOS (acontece no meu iPad 3 mas não no
>>> meu Huawei P9) mas ontem descobri que depende do modelo do device (também
>>> acontece por exemplo no S6 e iPhone 7 Plus mas não no iPad Pro),
>>> independentemente do OS e do runtime/SDK.
>>>
>>> Com essa "keyword", já consegui encontrar muita informação na net e irei
>>> hoje testar com esta informação: http://stackoverfl
>>> ow.com/questions/35657156/adobe-air-cameraui-photo-orientation/35664209
>>> Se funcionar bem, basta usar o método de rotação que já tenho em função
>>> dos graus que precisa de compensar (caso a foto não seja devolvida com
>>> rotação).
>>>
>>> Não percebo porque é que não existe um standard.
>>> Mais uma coisa para gastar processamento.
>>>
>>> Foste uma grade ajuda.
>>>
>>> Obrigado,
>>> Hugo.
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> No dia 20 de março de 2017 às 14:34, Rui Cruz <[email protected]>
>>> escreveu:
>>>
>>>> Viva,
>>>>
>>>> Penso que tens de ler a orientação no exif da foto.. em breve irei
>>>> mexer com isso intensamente, mas para já só tenho de lidar com esse
>>>> problema em desktop.
>>>>
>>>> tens aqui um bom tutorial: http://www.daveperre
>>>> tt.com/articles/2012/07/28/exif-orientation-handling-is-a-ghetto/
>>>>
>>>> Cumprimentos
>>>>
>>>> No dia 20 de março de 2017 às 11:37, Hugo Ferreira <
>>>> [email protected]> escreveu:
>>>>
>>>>> Bom dia,
>>>>>
>>>>> Já aqui alguém usou a CameraUI existente na framework Flex para mobile
>>>>> ?
>>>>> Não tiveram problemas com a orientação da imagens em modelos
>>>>> diferentes de devices ?
>>>>>
>>>>>
>>>>> Cumprimentos,
>>>>> Hugo.
>>>>>
>>>>> --
>>>>> Recebeu esta mensagem porque subscreveu ao grupo "Mailing List da
>>>>> Comunidade Portuguesa de Rich Internet Applications - www.riapt.org"
>>>>> do Grupos do Google.
>>>>> Para anular a subscrição deste grupo e parar de receber emails do
>>>>> mesmo, envie um email para [email protected].
>>>>> Para publicar uma mensagem neste grupo, envie um email para
>>>>> [email protected].
>>>>> Visite este grupo em https://groups.google.com/group/riapt.
>>>>> Para mais opções, visite https://groups.google.com/d/optout.
>>>>>
>>>>
>>>> --
>>>> Recebeu esta mensagem porque subscreveu ao grupo "Mailing List da
>>>> Comunidade Portuguesa de Rich Internet Applications - www.riapt.org"
>>>> do Grupos do Google.
>>>> Para anular a subscrição deste grupo e parar de receber emails do
>>>> mesmo, envie um email para [email protected].
>>>> Para publicar uma mensagem neste grupo, envie um email para
>>>> [email protected].
>>>> Visite este grupo em https://groups.google.com/group/riapt.
>>>> Para mais opções, visite https://groups.google.com/d/optout.
>>>>
>>>
>>>
>>
> --
> Recebeu esta mensagem porque subscreveu ao grupo "Mailing List da
> Comunidade Portuguesa de Rich Internet Applications - www.riapt.org" do
> Grupos do Google.
> Para anular a subscrição deste grupo e parar de receber emails do mesmo,
> envie um email para [email protected].
> Para publicar uma mensagem neste grupo, envie um email para
> [email protected].
> Visite este grupo em https://groups.google.com/group/riapt.
> Para mais opções, visite https://groups.google.com/d/optout.
>

-- 
Recebeu esta mensagem porque está inscrito no grupo "Mailing List da Comunidade 
Portuguesa de Rich Internet Applications - www.riapt.org" dos Grupos do Google.

Para anular a subscrição deste grupo e parar de receber emails do mesmo, envie 
um email para [email protected].
Para publicar uma mensagem neste grupo, envie um e-mail para 
[email protected].
Visite este grupo em https://groups.google.com/group/riapt.
Para mais opções, consulte https://groups.google.com/d/optout.

Responder a