Eu usei FileStream em vez de FileReference.. no caso do mobile penso que é
um MediaPromise. Infelizmente também existe metadata em xmp, a adobe tem
uma lib para se usar para isso mas ainda não experimentei.

No caso do desktop até estou a considerar usar o flascc para converter
alguma lib mais robusta..

No dia 30 de março de 2017 às 18:09, Hugo Ferreira <[email protected]>
escreveu:

> João,
>
> Nunca chega a existir ficheiro em disco.
>
>
>
> Em 30/03/2017 6:07 p.m., "João Fernandes" <joaopedromartinsfernandes@
> gmail.com> escreveu:
>
>> Mas se estás a ler o bytearray original já estás a carregar tudo para
>> memória, o ideal é ter o apontador para o ficheiro é ler do disco
>> progressivamente o mesmo até terminar a metadata. Se o fazes a partir do
>> bytearray, já leste tudo para memória.
>>
>> On Mar 30, 2017 6:00 PM, "Hugo Ferreira" <[email protected]> wrote:
>>
>>> Criei a minha exatamente pelos problemas que mencionaste.
>>> Já foi testado em vários androids, iphones e ipad e mantém-se estável e
>>> rapido a processar.
>>>
>>> Em 30/03/2017 5:56 p.m., "João Fernandes" <joaopedromartinsfernandes@gma
>>> il.com> escreveu:
>>>
>>>> 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-orientati
>>>>>>> on/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 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 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