2014-09-15 2 views
0

그리기 전에 캔버스를 비트 맵으로 변환 할 수 있습니까? 스크롤을 구현하기 위해 내 사용자 정의보기의 오버레이를 오버라이드했습니다. 캔버스 스크롤 있지만, 이러한 진술안드로이드 - 캔버스를 비트 맵으로 변환

를 사용하는 속도를 향상을 위해 내가 비트 맵으로 변환하고 싶습니다 제대로 보여주고있다
Bitmap bitmap = Bitmap.createBitmap(this.getMeasuredWidth(),this.getMeasuredHeight(),bitmap.Config.ARGB_8888); 
Canvas canvas = new Canvas(bitmap); 

로그 고양이로 캔버스를 변환하는 방법이 있나요

09-15 21:54:36.926: E/AndroidRuntime(28919): FATAL EXCEPTION: main 
09-15 21:54:36.926: E/AndroidRuntime(28919): java.lang.RuntimeException: Unable to start activity  ComponentInfo{zardoni.matteo.timeline/zardoni.matteo.AppAndroid.Activities.TimelineActivity}: java.lang.IllegalArgumentException: width and height must be > 0 

말한다 폭/높이를 알지 못하는 createBitmap()을 통한 비트 맵? 캔버스에서 그림을 그릴 때만이 값을 알 수 있습니다.

감사

+0

보이지 않는 부분을 건너 뛰고 보이는 부분 만 다시 그리지 않는 이유는 무엇입니까? – pskink

+0

어떻게하면됩니까? 어느 부분이 보이는지 어떻게 알 수 있습니까? "bitmap = getDrawingCache()"비트 맵을 호출하면 화면 크기가 회색이 될 때까지 그림 만 표시됩니다. – user3653803

답변

0

그냥 비트 맵을 만들고 캔버스에 추가 한 다음 캔버스에 그리기, 비트 맵을 캔버스로 변환하고 모든 비트 맵

귀하의 경우에는

, 로그 고양이에 표시 될 것입니다 명확하게 말하면 : 함수 : getMeasuredWidth 및 getMeasuredHeight는 < 인 값을 반환합니다. 이것을 확인하십시오.

관련 문제