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 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.
