메뉴 건너뛰기

조회 수 5995 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

안드로이드에서 이미지를 회전하는 방법은 여러가지가 있다. 

 

하지만, 네이버에서 나온 대부분의 방법은 

 

imgBoss2=BitmapFactory.decodeResource(.....);

 

imgBoss2=Bitmap.createScaledBitmap(....);


이것을 사용하는데,, 이것은 휴대폰으로 하여금 새로운 객체를 생성하기때문에 부담을 줄 수 밖에 없다. 

 

그래서 이미지 파일을 새로 만드는 것이 아닌 구성요소인 Matrix를 새로 리셋하여 

회전시키고 그것을 나중에 적용하는 방법에 대해서 알아 본다. 

 

그래픽스 시스템에 대해서 기본적으로 배우면 Matrix가 왜 회전과 이동에 관여 하는지 알 수 있다. 

 

궁금하신분은 컴퓨터 그래픽스 Matrix 에서 Transformation 파트를 찾아 보도록 한다. 

 

나는 아래의 소스는 게임을 만드는 소스중 같은이미지가 360도 돌아가면서 이동하는 것이다. 

 

코드가 너무 길어서 정리해서 써놓으면 

 

Matrix matrix = new Matrix();

.....으로 위에서 메트릭스를 선언하고 

루프 혹은 자신이 새로 설정하고 싶은 부분에서 매트릭스를 리셋시켜준다. 

 

matrix.reset();


//안드로이드는 좌상단부터 그림이 시작된다. 하지만 회전은 가운데를 기준으로 돌아가게되므로, 
//좌상단을 이용하여 그림의 가운데 지점을 찾아 내는 로직이다. 
centerX=(2*x+width)/2;

centerY=(2*y+height)/2;

 

//이것은 필요하신분만 사용하도록 하자 이것은 특정위치로 이미지를 이동시킨다. 

//다시말하지만 이것또한 좌상단부터 아래와 오른쪽으로 그림을 그리게 된다. 

matrix.setTranslate(x,y);

 

//이부분이 회전을 담당하는 부분이다. 매개변수는 처음부터 이미지, 그리고 x,y축만큼 회전이다. 

//아래와 같이하면 제자리에서 회전하게 된다. 

matrix.postRotate(imgRotate, centerX, centerY);

 

//그뒤에 그림을 그려주면 완성. 

canvas.drawBitmap(imgBoss, matrix, null);

 

 

 

 

안드로이드에서 이미지는 매우 민감하다. 휴대폰이 뜨거워지거나 렉이 걸릴 수 있기 때문이다.  

 

사진정도 가볍게 회전하는 것은 문제가 아니지만,, ,자주 회전해야 많은 이미지를 회전시켜야한다면

 

위와 같은 방법으로 메트릭스를 사용해야 할 것 이다. 


  1. No Image 16Jul
    by
    2015/07/16 Views 6337 

    사용자 정의 팝업창 띄우기

  2. HTML5 Form 공부하기 -2-

  3. No Image 28Aug
    by
    2014/08/28 Views 6316 

    WebView 줌 컨트롤러 가리기

  4. No Image 28Aug
    by
    2014/08/28 Views 6312 

    전화 인텐트와 나의 전화 번호가져오기

  5. HTML5로 나만의 비디오 플레이어 스킨 만들기 -2- JavaScript

  6. HTML5로 나만의 비디오 플레이어 스킨 만들기 -3- JavaScript

  7. 푸쉬 알림 기능. GCM (Google Cloud Messaging) 사용하기 (3)

  8. Effects - Stop() 메서드 (애니메이션 효과 멈추기)

  9. No Image 28Aug
    by
    2014/08/28 Views 6180 

    클래스나눠서 xml 파싱과 FTP를이용하여 안드로이드에서 활용하기

  10. No Image 16Jul
    by
    2015/07/16 Views 6155 

    네트워크를 통해 받은 이미지를 파일로 저장하고, 크기 조절해서 불러오기

  11. Effects - FadeIn() / FadeOut() 메서드 (서서히 보이기 및 숨기기)

  12. HTML5로 게임 만들기 워밍업

  13. Effects - SlideUp() 메서드 (슬라이드업)

  14. No Image 28Aug
    by 조쉬
    2014/08/28 Views 5995 

    안드로이드 이미지 효율적으로 회전 해보기

  15. Effects - Show() / Hide() 메서드 (보이기 및 숨기기)

  16. HTML5 Better semantic tags

  17. HTML5 Form 공부하기 -1-

  18. Events - Unbind() 메서드 (이벤트 처리기 해제)

  19. HTML5 시작하기

  20. HTML5 Web Storage -01-

Board Pagination Prev 1 ... 3 4 5 6 7 8 9 10 11 12 13 Next
/ 13

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved