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

getRootView() 캡쳐 영역질문입니다.

0 추천

getRootView() 는 상단바까지 포함해서 캡쳐를 하는데

화면 이상의 레이아웃은 캡쳐하질 못하던데

 

캡쳐 영역을 늘릴수도 잇나요?

 

스크롤뷰로 된 레이아웃 전체를 하려고 하는데

getRootView는 딱 그 화면에 나오는 화면만 캡쳐를 하고 그 잘린 부분들은 캡쳐할 수가 없어서요

브루스웨인 (8,580 포인트) 님이 2013년 7월 3일 질문

1개의 답변

0 추천
 
채택된 답변
캡쳐에 대해 이해를 조금 하셔야 할 문제 인데요. 제가 개발해 온 경험상(피쳐폰 시절 플랫폼 쪽의 이미지 캡쳐 기능을 만들었었습니다) 캡쳐에 의미는 해당 영역이 화면에 뿌려졌을 때의 DC(Device Context), GC(Graphic Context) 가 가지는 Framebuffer 의 메모리 영역을 복사하는 것입니다. 이는 곳 화면에 뿌려지는 부분 이외에는 캡쳐가 불가능 하다는 것입니다. 또한, 기타 여러 플랫폼에서는 굳이 화면에 뿌려지지 않아도 해당 이미지가 필요한 경우가 있으므로 가상의 메모리 영역에 미리 캡쳐이미지를 생성하는데요.(안드로이드의 buildDrawingCache) 이 또한 Device의 화면크기의 종속된 것으로 보입니다.(자세한 것은 안드로이드를 까봐야 하겠지요). 이렇게 추측 하는 이유는 기존의 캡쳐가 화면의 영역을 이미지 화 시키는 것이고, 위에서 언급 했듯이 화면 영역에 굳이 해당 이미지를 출력하지 않아도 buildDrawingCache 를 통하여 이미지 화 한 것 또한 화면 캡쳐에서 파생 되었기 때문에 같은 프로시저를 통한다고 보여지기 때문입니다. 도움이 되셨으면 좋겠습니다. 혹시 하는 방법이 있다고 한다면 제 답글은 자삭하겠습니다 (_ _)
coooldh (2,510 포인트) 님이 2013년 7월 3일 답변
브루스웨인님이 2013년 7월 4일 채택됨
자세한 답변 감사드립니다. 제가 말씀하신 buildDrawingCache 를 이용하여 캡쳐하는 기능을 만들다가문제가 생겨 getrootview로 시도를 해보는 중이었습니다.
...