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.
