Top 8 안드로이드 이미지 회전 소스 The 35 New Answer

You are looking for information, articles, knowledge about the topic nail salons open on sunday near me 안드로이드 이미지 회전 소스 on Google, you do not find the information you need! Here are the best content compiled and compiled by the https://chewathai27.com/to team, along with other related topics such as: 안드로이드 이미지 회전 소스 안드로이드 이미지 회전 애니메이션, EXIF 이미지 회전, 안드로이드 터치 회전, Android gallery Bitmap rotate


Android의 원형 이미지 보기
Android의 원형 이미지 보기


안드로이드(Android) ImageView 에 이미지 회전(Image rotate) 시켜서 세팅하는 방법

  • Article author: mainia.tistory.com
  • Reviews from users: 33129 ⭐ Ratings
  • Top rated: 4.7 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 안드로이드(Android) ImageView 에 이미지 회전(Image rotate) 시켜서 세팅하는 방법 ▽ 아래 XML 소스는 메인 Activity 화면을 구성할 레이아웃 XML 입니다. 회전시킬 이미지가 위치할 ImageView 위젯과 버튼이 들어가 있습니다. …
  • Most searched keywords: Whether you are looking for 안드로이드(Android) ImageView 에 이미지 회전(Image rotate) 시켜서 세팅하는 방법 ▽ 아래 XML 소스는 메인 Activity 화면을 구성할 레이아웃 XML 입니다. 회전시킬 이미지가 위치할 ImageView 위젯과 버튼이 들어가 있습니다. 안드로이드(Android) ImageView 에 이미지 회전(Image rotate) 시켜서 세팅하는 방법  환경: Eclipse Mars, Android 4.2.2 안드로이드에서 Matrix 클래스로 이미지를 회전시켜 보겠습니다. 샘플은 리소스에 이미..IT 관련 정보수록컴퓨터,윈도우,엑셀,안드로이드,워드,자바,한글,ITcomputer,windows,Internet,excel,word
  • Table of Contents:

안드로이드(Android) ImageView 에 이미지 회전(Image rotate) 시켜서 세팅하는 방법

티스토리툴바

 안드로이드(Android) ImageView 에 이미지 회전(Image rotate) 시켜서 세팅하는 방법
안드로이드(Android) ImageView 에 이미지 회전(Image rotate) 시켜서 세팅하는 방법

Read More

[Android] imageView 사진 회전 현상 해결하기 & 사진의 절대경로명 찾기(JAVA) :: Soo’s first step

  • Article author: bugloss-chestnut.tistory.com
  • Reviews from users: 48732 ⭐ Ratings
  • Top rated: 4.5 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [Android] imageView 사진 회전 현상 해결하기 & 사진의 절대경로명 찾기(JAVA) :: Soo’s first step 안드로이드 이미지가 돌아갈 때, 회전될 때! … null, null, null); if (cursor == null) { // Source is Dropbox or other similar local file path … …
  • Most searched keywords: Whether you are looking for [Android] imageView 사진 회전 현상 해결하기 & 사진의 절대경로명 찾기(JAVA) :: Soo’s first step 안드로이드 이미지가 돌아갈 때, 회전될 때! … null, null, null); if (cursor == null) { // Source is Dropbox or other similar local file path … imageView 사진 회전 현상 해결하기(JAVA) 카메라로 찍은 사진 or 갤러리에서 불러온 사진이 imageView에서 회전되는 현상 발생! 원래는 똑바른 사진인데 이렇게 왼쪽으로 회전 되어서 보임! (핸드폰 기종은 LG Q..
  • Table of Contents:

imageView 사진 회전 현상 해결하기(JAVA)

사진의 절대경로명 찾기(JAVA)

관련글 관련글 더보기

인기포스트

[Android] imageView 사진 회전 현상 해결하기 & 사진의 절대경로명  찾기(JAVA) :: Soo's first step
[Android] imageView 사진 회전 현상 해결하기 & 사진의 절대경로명 찾기(JAVA) :: Soo’s first step

Read More

Android) ImageView 사진이 자동으로 회전될 때 해결법 – Glide 라이브러리 사용하기

  • Article author: h-glacier.tistory.com
  • Reviews from users: 22847 ⭐ Ratings
  • Top rated: 4.1 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about Android) ImageView 사진이 자동으로 회전될 때 해결법 – Glide 라이브러리 사용하기 2) Uri나 링크를 이용해 불러오고자 하는 이미지를 ImageView에 업로드 시킨다. 갤러리에서 선택한 사진의 Uri를 이용해 ImageView에 업로딩 시키는 소스. …
  • Most searched keywords: Whether you are looking for Android) ImageView 사진이 자동으로 회전될 때 해결법 – Glide 라이브러리 사용하기 2) Uri나 링크를 이용해 불러오고자 하는 이미지를 ImageView에 업로드 시킨다. 갤러리에서 선택한 사진의 Uri를 이용해 ImageView에 업로딩 시키는 소스. 안드로이드 ImageView 사진이 자동으로 회전될 때 해결법 Exif 메타정보 이용하기 보단 Glide 이미지 라이브러리 사용해보자 현재 개발중인 안드로이드 어플리케이션에 특정 기능을 구현하려 하던중 막히는..
  • Table of Contents:

Glacier’s Daily Log

Android) ImageView 사진이 자동으로 회전될 때 해결법 – Glide 라이브러리 사용하기 본문

안드로이드 ImageView 사진이 자동으로 회전될 때 해결법

티스토리툴바

Android) ImageView 사진이 자동으로 회전될 때 해결법 - Glide 라이브러리 사용하기
Android) ImageView 사진이 자동으로 회전될 때 해결법 – Glide 라이브러리 사용하기

Read More

[Android] 안드로이드 RotateAnimation 함수 이용 이미지 회전 :: Copy Coding

  • Article author: copycoding.tistory.com
  • Reviews from users: 21894 ⭐ Ratings
  • Top rated: 4.1 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [Android] 안드로이드 RotateAnimation 함수 이용 이미지 회전 :: Copy Coding 이미지를 회전시키기 위한 RotateAnimation() 함수 입니다. parameter를 2개, 4개 또는 6개를 포함한 함수를 제공 하는데 회전 중심을 어디로 어떻게 … …
  • Most searched keywords: Whether you are looking for [Android] 안드로이드 RotateAnimation 함수 이용 이미지 회전 :: Copy Coding 이미지를 회전시키기 위한 RotateAnimation() 함수 입니다. parameter를 2개, 4개 또는 6개를 포함한 함수를 제공 하는데 회전 중심을 어디로 어떻게 … 이미지를 회전시키기 위한 RotateAnimation() 함수 입니다. parameter를 2개, 4개 또는 6개를 포함한 함수를 제공 하는데 회전 중심을 어디로 어떻게 설정 하는가에 따라 선택해서 사용 합니다.  1. RotateAnimat..떠돌이 개발자가 일년에 몇번씩 하는 시스템 재설치, 설정 값, 그리고 코딩에 사용하는 로직들을 재사용 가능하게 정리합니다.
  • Table of Contents:
[Android] 안드로이드 RotateAnimation 함수 이용 이미지 회전 :: Copy Coding
[Android] 안드로이드 RotateAnimation 함수 이용 이미지 회전 :: Copy Coding

Read More

[Android/안드로이드] 손가락을 따라 회전하는 이미지 뷰(rotate image on touch)

  • Article author: raon-studio.tistory.com
  • Reviews from users: 49138 ⭐ Ratings
  • Top rated: 3.7 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [Android/안드로이드] 손가락을 따라 회전하는 이미지 뷰(rotate image on touch) [Andro/안드로이드] 손가락을 따라 회전하는 이미지 뷰(rotate image on touch). Raon Jeong 2017. 12. 19. 01:34. 개발을 하다보면 손가락을 따라 회전을 시켜야 … …
  • Most searched keywords: Whether you are looking for [Android/안드로이드] 손가락을 따라 회전하는 이미지 뷰(rotate image on touch) [Andro/안드로이드] 손가락을 따라 회전하는 이미지 뷰(rotate image on touch). Raon Jeong 2017. 12. 19. 01:34. 개발을 하다보면 손가락을 따라 회전을 시켜야 … 개발을 하다보면 손가락을 따라 회전을 시켜야하는 이미지 View가 필요하다. 이를테면 룰렛, 시계, 방탈출 게임의 금고 손잡이 등등… RotateAnimation 클래스를 이용해 특정 이벤트 발생시 얼만큼 회전시킬 수..
  • Table of Contents:

태그

‘Android정리 노트’ Related Articles

공지사항

최근 포스트

태그

검색

전체 방문자

[Android/안드로이드] 손가락을 따라 회전하는 이미지 뷰(rotate image on touch)
[Android/안드로이드] 손가락을 따라 회전하는 이미지 뷰(rotate image on touch)

Read More

가져온 이미지 회전 막기

  • Article author: teamblog.tistory.com
  • Reviews from users: 14339 ⭐ Ratings
  • Top rated: 3.7 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 가져온 이미지 회전 막기 예시1) 안드로이드 카메라 예제 (3/3) – 촬영된 이미지 원래대로 회전시키기 … Bitmap rotateImage(Bitmap source) throws IOException … …
  • Most searched keywords: Whether you are looking for 가져온 이미지 회전 막기 예시1) 안드로이드 카메라 예제 (3/3) – 촬영된 이미지 원래대로 회전시키기 … Bitmap rotateImage(Bitmap source) throws IOException … 문제상황 이전 글에서 이미지를 가져올 때 카메라, 갤러리 상관 없이 랜덤하게 이미지가 회전하는 상황 발생 회전을 원래대로 하기 위해 여러 예제를 찾아봤지만 1. ExifInterface를 사용해 회전값을 구하고, 2…
  • Table of Contents:

문제상황

해결

태그

관련글

댓글0

공지사항

최근글

인기글

최근댓글

태그

전체 방문자

가져온 이미지 회전 막기
가져온 이미지 회전 막기

Read More

[Android] 카메라로 찍은 이미지 올바른 방향으로 회전시켜 보여주기 – GIS Developer

  • Article author: www.gisdeveloper.co.kr
  • Reviews from users: 26027 ⭐ Ratings
  • Top rated: 3.0 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [Android] 카메라로 찍은 이미지 올바른 방향으로 회전시켜 보여주기 – GIS Developer 폰으로 찍은 사진을 화면에 표시할때 이 화전 정보를 반영하여 촬영된 이미지를 표시해야 자연스럽습니다. 아래의 코드는 이미지 파일에 대한 회전 정보를 … …
  • Most searched keywords: Whether you are looking for [Android] 카메라로 찍은 이미지 올바른 방향으로 회전시켜 보여주기 – GIS Developer 폰으로 찍은 사진을 화면에 표시할때 이 화전 정보를 반영하여 촬영된 이미지를 표시해야 자연스럽습니다. 아래의 코드는 이미지 파일에 대한 회전 정보를 …
  • Table of Contents:

글 내비게이션

최신 글

최신 댓글

카테고리

로그인 가입

[Android] 카메라로 찍은 이미지 올바른 방향으로 회전시켜 보여주기 – GIS Developer
[Android] 카메라로 찍은 이미지 올바른 방향으로 회전시켜 보여주기 – GIS Developer

Read More

[안드로이드] 이미지의 Orientation를 체크해서 이미지 회전하기

  • Article author: snowbora.tistory.com
  • Reviews from users: 41715 ⭐ Ratings
  • Top rated: 3.4 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [안드로이드] 이미지의 Orientation를 체크해서 이미지 회전하기 안드로이드에서 단말기 내부의 사진을 ImageView 등에 출력할 때, 이미지가 가로 방향인지 세로 방향인지 체크해서 적절하게 회전시켜서 보여주는 … …
  • Most searched keywords: Whether you are looking for [안드로이드] 이미지의 Orientation를 체크해서 이미지 회전하기 안드로이드에서 단말기 내부의 사진을 ImageView 등에 출력할 때, 이미지가 가로 방향인지 세로 방향인지 체크해서 적절하게 회전시켜서 보여주는 … 안드로이드에서 단말기 내부의 사진을 ImageView 등에 출력할 때, 이미지가 가로 방향인지 세로 방향인지 체크해서 적절하게 회전시켜서 보여주는 함수입니다. 이미지의 Orientation 정보를 얻는 함수입니다. publ..
  • Table of Contents:

태그

‘개발자 이야기안드로이드’ Related Articles

공지사항

최근 포스트

태그

검색

전체 방문자

[안드로이드] 이미지의 Orientation를 체크해서 이미지 회전하기
[안드로이드] 이미지의 Orientation를 체크해서 이미지 회전하기

Read More


See more articles in the same category here: Top 455 tips update new.

안드로이드(Android) ImageView 에 이미지 회전(Image rotate) 시켜서 세팅하는 방법

반응형

안드로이드 (Android) ImageView 에 이미지 회전 (Image rotate) 시켜서 세팅하는 방법

환경 : Eclipse Mars, Android 4.2.2

안드로이드에서 Matrix 클래스로 이미지를 회전시켜 보겠습니다 . 샘플은 리소스에 이미지를 불러와서 Bitmap 클래스로 비트맵을 생성하는 것입니다 . 비트맵 생성할 때 Matrix 객체를 인수로 넘기면 됩니다 .

▼ ImageView 위젯에 이미지를 세팅하기 위해서는 불러온 리소스 이미지를 비트맵으로 변환해야 합니다 . 비트맵으로 변환한 이미지는 setImageBitmap() 함수에 인수로 넘기면 됩니다 . 이전에 이미지를 회전시켜야 겠죠 . 새로 만든 rotateImage() 함수안에는 이미지 회전을 위해 Matrix 객체를 생성하는 부분이 있습니다 . Matrix 객체를 생성할 때 각도를 셋팅하기 위해 postRotate() 함수를 이용합니다 . 각도를 변경하기 위한 Matrix 객체가 생성되었다면 Bitmap 클래스의 createBitmap() 함수로 비트맵을 생성합니다 .

mImaveView.setImageBitmap(rotateImage( BitmapFactory.decodeResource(getResources(),R.drawable.diablo), mDegree)); // 이미지 회전 함수 public Bitmap rotateImage(Bitmap src, float degree) { // Matrix 객체 생성 Matrix matrix = new Matrix(); // 회전 각도 셋팅 matrix.postRotate(degree); // 이미지와 Matrix 를 셋팅해서 Bitmap 객체 생성 return Bitmap.createBitmap(src, 0, 0, src.getWidth(),src.getHeight(), matrix, true); }

▼ 아래 소스는 불러온 리소스 이미지를 회전시키는 rotateImage() 함수가 들어간 전체 소스입니다 . 샘플에서는 버튼을 클릭할 때마다 90 도씩 시계 방향으로 회전하도록 되어 있습니다 .

import android.app.Activity; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Matrix; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.ImageView; import com.example.sampleandroidinfo.R; public class ImageRotateActivity extends Activity { ImageView mImaveView; int mDegree = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_image_rotate); Button button = (Button) findViewById(R.id.btn_alert); button.setOnClickListener(new OnClickListener() { public void onClick(View v) { mDegree = mDegree + 90; mImaveView = (ImageView) findViewById(R.id.imgRotate); mImaveView.setImageBitmap(rotateImage( BitmapFactory.decodeResource(getResources(), R.drawable.diablo), mDegree)); } }); } // 이미지 회전 함수 public Bitmap rotateImage(Bitmap src, float degree) { // Matrix 객체 생성 Matrix matrix = new Matrix(); // 회전 각도 셋팅 matrix.postRotate(degree); // 이미지와 Matrix 를 셋팅해서 Bitmap 객체 생성 return Bitmap.createBitmap(src, 0, 0, src.getWidth(), src.getHeight(), matrix, true); } }

▼ 아래 XML 소스는 메인 Activity 화면을 구성할 레이아웃 XML 입니다 . 회전시킬 이미지가 위치할 ImageView 위젯과 버튼이 들어가 있습니다 .

activity_image_rotate.xml

[Android] imageView 사진 회전 현상 해결하기 & 사진의 절대경로명 찾기(JAVA) :: Soo’s first step

imageView 사진 회전 현상 해결하기(JAVA)

카메라로 찍은 사진 or 갤러리에서 불러온 사진이 imageView에서 회전되는 현상 발생!

원래는 똑바른 사진인데 이렇게 왼쪽으로 회전 되어서 보임! (핸드폰 기종은 LG Q7)

→ 검색 해보니, 이미지 회전 현상이 빈번하게 발생하나 보다~ㅋㅋ

그러다 발견한 블로그!!

https://stickyny.tistory.com/95

Exif 메타데이터를 이용해 이미지를 회전 시켜주면 된다고 나와있다!!

→ ExifiInterface class에서 ExifInterface.TAG_ORIENTATION 값이 회전된 각도이다.

이 값이 0 or null 이면 사진이 회전되지 않은것

값이 있는 만큼 이미지를 회전 시켜주면 된다.

Exif Code

ExifInterface exif = null; try { exif = new ExifInterface(path); } catch (IOException e) { e.printStackTrace(); } int orientation = exif.getAttributeInt(ExifInterface.TAG_ORIENTATION, ExifInterface.ORIENTATION_UNDEFINED);

→ 이렇게 Exif를 선언해주고 exif.getAttributeInt를 통해서 TAG_ORIENTATION값을 얻어 온다!

회전할 이미지 bitmap Code

Bitmap bmRotated = rotateBitmap(#######, orientation);

→ ######에는 원래 image(회전되서 나오는)의 bitmap변수를 적는다.

→ ###### image를 orientation만큼 rotate시킨 image를 bmRotated라 하겠다.

rotate 함수 Code

public static Bitmap rotateBitmap(Bitmap bitmap, int orientation) { Matrix matrix = new Matrix(); switch (orientation) { case ExifInterface.ORIENTATION_NORMAL: return bitmap; case ExifInterface.ORIENTATION_FLIP_HORIZONTAL: matrix.setScale(-1, 1); break; case ExifInterface.ORIENTATION_ROTATE_180: matrix.setRotate(180); break; case ExifInterface.ORIENTATION_FLIP_VERTICAL: matrix.setRotate(180); matrix.postScale(-1, 1); break; case ExifInterface.ORIENTATION_TRANSPOSE: matrix.setRotate(90); matrix.postScale(-1, 1); break; case ExifInterface.ORIENTATION_ROTATE_90: matrix.setRotate(90); break; case ExifInterface.ORIENTATION_TRANSVERSE: matrix.setRotate(-90); matrix.postScale(-1, 1); break; case ExifInterface.ORIENTATION_ROTATE_270: matrix.setRotate(-90); break; default: return bitmap; } try { Bitmap bmRotated = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), matrix, true); bitmap.recycle(); return bmRotated; } catch (OutOfMemoryError e) { e.printStackTrace(); return null; } }

출처: https://stackoverflow.com/questions/20478765/how-to-get-the-correct-orientation-of-the-image-selected-from-the-default-image

https://stickyny.tistory.com/95

사진의 절대경로명 찾기(JAVA)

Camera로 찍은 Photo를 회전 시켜서 imageView에 띄우는거는 문제가 되지 않았다.

→ Photo를 File형식으로 만든다음 Photo.getAbsolutePath()를 이용해서 image를 rotate할 수 있다.

Camera 절대경로명/image rotate 관련 Code

// 사진의 회전 정보 얻어오는 부분 ExifInterface exif = null; try { exif = new ExifInterface(mPhotoFile.getAbsolutePath()); } catch (IOException e) { e.printStackTrace(); } int orientation = exif.getAttributeInt(ExifInterface.TAG_ORIENTATION, ExifInterface.ORIENTATION_UNDEFINED); // 찍은 사진 mPhotoFile을 bitmap으로 decodeFile Bitmap cameraphoto = BitmapFactory.decodeFile(mPhotoFile.getAbsolutePath()); // 찍은 사진 rotate Bitmap cameraRotated = rotateBitmap(cameraphoto, orientation); // imageview 사진 뜨게함 image.setImageBitmap(cameraRotated);

Album에서 사진을 골라오고 roate시키려고 하면 안된다!!

→ 진짜 경로명인 절대경로명을 써줘야한다고 발견…!

Album에서 Pick한 image를 data라는 이름의 intent로 받는 Code

Uri filePath = data.getData();

→ data.getData()를 통해 Uri를 filePath라고 선언

Pick한 image의 절대경로명 Code

// 사진의 절대 경로명 Uri mPhotoUri = Uri.parse(getRealPathFromURI(filePath));

→ filePath라는 경로명에서 이제 진짜 경로명을 찾는 getRealPathFromURI 함수를 이용

getRealPathFromURI 함수 Code

// 사진의 절대경로명 찾게해줌 (album-rotate함수때 필요) private String getRealPathFromURI(Uri contentURI) { String result; Cursor cursor = getContentResolver().query(contentURI, null, null, null, null); if (cursor == null) { // Source is Dropbox or other similar local file path result = contentURI.getPath(); } else { cursor.moveToFirst(); int idx = cursor.getColumnIndex(MediaStore.Images.ImageColumns.DATA); result = cursor.getString(idx); cursor.close(); } return result; }

→이렇게 해서 경로명 찾아준 후에 ExifInterface통해서 사진 rotate하면 됨!

Image rotate 관련 Code

ExifInterface exif = null; try { int batchNum = 0; InputStream buf = getContentResolver().openInputStream(filePath); Bitmap albumphoto = BitmapFactory.decodeStream(buf); buf.close(); // 사진의 회전 정보 얻어오는 부분 exif = new ExifInterface(mPhotoUri.getPath()); int orientation = exif.getAttributeInt(ExifInterface.TAG_ORIENTATION, ExifInterface.ORIENTATION_UNDEFINED); // 선택한 사진 rotate Bitmap albumRotated = rotateBitmap(albumphoto, orientation); // imageview 사진 뜨게함 image.setImageBitmap(albumRotated); // ~~~~~~ 이 뒤에 다른 코드들 있음~ }

실행 결과

Code 적용 후에는 잘 rotate 된다!!

출처

https://dd00oo.tistory.com/entry/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-%EA%B0%A4%EB%9F%AC%EB%A6%AC%EC%9D%98-%EC%8B%A4%EC%A0%9C%EA%B2%BD%EB%A1%9C-%EA%B0%80%EC%A0%B8%EC%98%A4%EA%B8%B0

ⓐ Album들어가는 Android code 정리

github.com/buglossJisoo/AI_Mushroom_App

Android) ImageView 사진이 자동으로 회전될 때 해결법

반응형

안드로이드 ImageView 사진이 자동으로 회전될 때 해결법

Exif 메타정보 이용하기 보단 Glide 이미지 라이브러리 사용해보자

현재 개발중인 안드로이드 어플리케이션에 특정 기능을 구현하려 하던중 막히는 부분이 발생했다.

버튼을 누르면 파일 선택기에 진입해 사진을 고른 후, ImageView에 뿌려주는 기능을 구현하고 싶었다.

실제로 이 기능은 어렵지 않게 구현할 수 있고

최근 업데이트 했던 “의무경찰 성적표” 어플에도

추가한 기능이였다.

Google Play “의무경찰 성적표” Ver 2.0

하지만 현재 개발하는 어플을 테스트 하던 중, 버그를 발견하였다.

갤러리에서 불러온 사진이 Imageview에 업로드 됐을 때

무작위로 (대체로 삼성 스마트폰 에서 찍은 사진) 회전이 된다.

회전이 되는 기준이 명확하지 않지만, 내 폰 (삼성 갤럭시) 으로 직접 찍은 사진이 대체로 회전되는 경향을 보였다.

좌 (원본) 우 (버그로 인해 냥이사진이 회전되어 있는 모습)

대충 자이로센서를 이용한 Rotate값이 사진정보에 남아있어 그렇지 않을까 예상하고

구글링을 해보았다.

단순히 “Android Imageview rotate” 로만 검색해도

나와 같은 상황인 사례가 많이 보였다.

“How to fix the camera Intent rotated Image in Android”

와 같은 질문이 많이 보인다.

대체적으로 삼성이나 소니 같은 특정 제조사 디바이스로 찍은 사진들이

Exif 메타데이터에 회전값이 타 기기와 다르게 저장돼서

발생하는 현상인 것 같다.

이를 해결하기 위해서 제시한 많은 방법들이 있었다.

Stackoverflow, 국내 다수 커뮤니티 에서 대부분

Java 코드 단에서 갤러리에서 사진을 선택할 때,

Exif 메타데이터를 불러와 Rotate값을 읽은 뒤

회전함수를 만들어 직접 사진을 돌려주는

생각보다 엄청 복잡한 방식을 사용하고 있었다.

출처 : Stackoverflow “Android geeting an image from gallery comes rotated”

ExifInterface 를 사용하는 Java코드 인데, 보기만 해도 머리가 아프고 복잡하다.

그리고 이 소스들을 적용해 보아도

조금 오래된 소스들이라 그런지 제대로 작동을 하지 않는게 대다수였고, 메모리 부족으로 어플이 강제종료 되기도 하였다.

결국 이 문제로 약 1시간 반을 씨름하였다.

아무리 생각해도, 간단하게 이문제를 해결할 방법이 마련되어 있을 것 같아서 계속 구글링하고 연구해보았다.

노력 끝에 어이없게도 너무 쉬운 방법을 찾았다.

예전에 사진 관련 기능을 구현할 때,

많은 사람들이 안드로이드 이미지 라이브러리를 사용하는게 좋다고 하는 것을

이해를 못하고 무시했는데,

그게 반짝 떠올랐다.

바로 대표적인 Picasso 와 Glide를 적용해 보았다.

아쉽게도 Picasso는 자동회전을 지원하지 않았다. (2020 9월기준)

그래서 Glide를 적용해 보았는데 놀랍게도 문제가 바로 해결되었다.

그럼 Glide를 적용하는 방법을 알아보자.

1) Android Studio 앱단위 Gradle을 변경해야한다.

dependencies {} 사이에

implementation ‘com.github.bumptech.glide:glide:3.7.0’

를 넣어주자. glide 라이브러리를 implement 하는 과정이다.

2) Uri나 링크를 이용해 불러오고자 하는 이미지를 ImageView에 업로드 시킨다.

갤러리에서 선택한 사진의 Uri를 이용해 ImageView에 업로딩 시키는 소스

Glide.with(this).load(Uri).into(이미지뷰);

“Uri” 부분에 필요한 Uri 변수를 넣고 “이미지뷰” 부분에 이미지뷰 id값을 넣으면 적용된다.

3) 끝이다.

이렇게 매우 간단하게 Glide를 이용해 원하는 사진을 이미지뷰에 올릴 수 있게 되었다.

정상적으로 사진원본 방향대로 업로드 된 모습.

이렇게 매우 쉽게 버그를 해결 할 수 있었다.

한시간동안 나와의 싸움을 했던 것은 힘들었지만

결국 쉬운 방법으로 버그를 해결해서 만족스러웠다.

혹시나 추가 궁금한 점이 있으시면 댓글로 남겨주세요.

반응형

So you have finished reading the 안드로이드 이미지 회전 소스 topic article, if you find this article useful, please share it. Thank you very much. See more: 안드로이드 이미지 회전 애니메이션, EXIF 이미지 회전, 안드로이드 터치 회전, Android gallery Bitmap rotate

Leave a Comment