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.
