Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Estou com dúvida no curso de Android : Interface, aparência e recursos do device , no exercício 4 do capítulo LayoutInflater para melhorar nossa apresentação.

A imagem ficou invertida, tentei gerar esse código, que um amigo fez resolvendo o mesmo problema na imagem da activity do formulario:

try {
            File f = new File(localArquivoFoto);
            ExifInterface exif = new ExifInterface(f.getPath());
            int orientation = exif.getAttributeInt( ExifInterface.TAG_ORIENTATION, ExifInterface.ORIENTATION_NORMAL);

            int angle = 0;

            if (orientation == ExifInterface.ORIENTATION_ROTATE_90) {
                angle = 90;

            } else if (orientation == ExifInterface.ORIENTATION_ROTATE_180) {
                angle = 180;

            } else if (orientation == ExifInterface.ORIENTATION_ROTATE_270) {
                angle = 270;

            }

            Matrix mat = new Matrix();

            mat.postRotate(angle);

            Bitmap imagem = BitmapFactory.decodeFile(localArquivoFoto);
            Bitmap correctBmp = Bitmap.createBitmap(imagem, 0, 0,imagem.getWidth(), imagem.getHeight(), mat, true);
            Bitmap imagemReduzida = Bitmap.createScaledBitmap(correctBmp, 100, 100, true);

            botaoImagem.setImageBitmap(imagemReduzida);

        } catch (IOException e) {

            Log.w("TAG", "-- Error in setting image");

        } catch (OutOfMemoryError oom) {

            Log.w("TAG", "-- OOM Error in setting image");

        }

Mas nesse caso eu não consegui entender qual arquivo eu crio para esse caso ou se devo mesmo criar um arquivo, nessa linha: File f = new File(localArquivoFoto);

3 respostas

Olá Higinodf, tudo bem?

Editei sua postagem e coloquei seu código entre ``` . Para usar os recursos de syntax highlight e facilitar a leitura, ok? :)

Quanto a sua dúvida, não consegui entender muito bem. Mas se você quer passar o local da foto para o File, pode usar o getExternalFilesDir(null). Esse método irá retornar um local privado no SD para sua aplicação.

Tudo bem? Abraços!

Oi Higinodf.

Conseguiu resolver o problema?

Abraços.

solução!

Olá Higinodf.

Estou fechando este tópico. Caso ainda precise de ajuda, sinta-se a vontade para abrir outro!

Abraços.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software