마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

특정영역안의 이미지를 크롭하고 싶습니다.

0 추천

 

이미지를 크롭하려고 하는데 예제들을 봐도 제가 원하는 예제들이 아니라 어떻게 풀어야 할지 모르겠습니다.

특정영역안에 들어간 이미지만 크롭하고 싶은데, 예제들을 보니 대부분 앨범이나 카메라에서 이미지를 불러와

사용자가 가로/세로 길이를 수정하여 크롭 후 , 그 이미지를 불러오는 것 뿐이라..

이미지 영역은 두가지의 경우로 나뉩니다.

평소에는 첫번째 그림처럼, 두번째는 확대버튼을 눌렀을 때 전체 화면으로 바뀌는 겁니다.

일단 축소/확대 버전에서 이미지는 다 들어가구요, 첫번째 두번째일 경우의 이미지도 줌인/아웃이 잘 됩니다.

첫번째 일때에는 저 초록색 영역 안에만 크롭, 두번째 일때엔 전체 크기 모두 크롭하고싶은데,

크롭할 때 사용자가 직접 조절하는게 아니라 수치를 수정해서 화면 크기만큼 크롭해서 저장할 수있는 지요?

이미지 줌인을 하면 이미지가 확대 되면서 자신이 보고 싶은 영역외엔 나머지 부분들이 화면 밖으로 나가는데,

고놈들 상관없이 눈에 보이는(초록색영역) 부분만 크롭하고 싶습니다... 아래 처럼요.

 

 

1.이미지 원본

2.해당 이미지를 줌인(zoom in) 줌인된 상태에서 잘린 부위 상관없이 해당 화면의 이미지를 캡쳐해서 저장.

소스 뜯어가면서 보고있는데 아직 실력이 미숙해서 쉽지 않네요..ㅎㅎ;; 조언 부탁드립니다 ^^; 감사합니다~

 

+

예제로 하나로 일단 현 화면에서 크롭할 수 있는건 찾았습니다.

근데 크롭할 영역이 사각형으로 나타나는데, 크기가 너무 작네요. ; 

이미지가 크고 작을 때, 이미지 크기의 영향을 받는지 크롭박스도 그때마다 다르구요.

전체 화면을 크롭할 수있도록 전체가로x전체 세로길이로 이 크롭박스의 크기를 바꿀 수 없는지요?

 

 

 

anci (19,950 포인트) 님이 2013년 6월 19일 질문
anci님이 2013년 6월 19일 수정

1개의 답변

0 추천

전체 이미지를 저장 하고 싶으신것이죠?

ImageView.setDrawingCacheEnabled(true);
Bitmap bm = ImageView.getDrawingCache();
 
확대를 하던 뭘하던 ImageView에서 보여지는 상태로 Bitmap으로 저장할 수있습니다.
q1212 (26,020 포인트) 님이 2013년 6월 19일 답변
답변 감사합니다^^;
전체이미지를 저장하고 싶을 때도 있고, 일단 사용자 입장에서 화면 내에서만 보여지는 이미지를 저장하고 싶습니다.
이미지뷰에서 보여지는 상태로 저장한다는게, 두번째 저 너구리 처럼 확대[zoom in]을 한다면 원본의 조그만 그림이 아닌, 확대되는 그대로의 모습만 저장된다는건가요?
...