2012-11-02 4 views
2

나는 캔버스를 만들고 다음 코드를 사용하여 비트 맵을 그릴려고 :SurfaceHolder.lockCanvas()는 null을 반환

Paint paint = new Paint(); 
InputStream is = assets.open("card_art" + File.separator + "texture.png"); 
Bitmap bitmap = BitmapFactory.decodeStream(is); 
cardFrontBackingImageView = new SurfaceView(Order.getContext()).getHolder().lockCanvas(); 
if (cardFrontBackingImageView == null) 
{ 
    Log.e("Canvas creation", "Canvas is null"); 
} 
cardFrontBackingImageView.drawBitmap(bitmap, null, frame, paint); 

내가 실행 해요 문제는 I '는 하나입니다 m 코드 검사 - lockCanvas()는 null을 일관되게 반환합니다. 나는 내가 따라갈 때 이것을 더 많이 배우거나 덜 배우기 때문에 SurfaceView, SurfaceHolder 또는 Canvas에 대해 충분히 알지 못한다. 어떤 제안? doc에서

답변

3

는 :

반환 캔버스 표면의 비트 맵으로 그리는 데 사용 수 있습니다. 표면이 작성되지 않았거나 편집 할 수없는 경우 널 (NULL)이 리턴됩니다. 은 보통 표면을 사용할 수 있는지 알아보기 위해 Callback.surfaceCreated를 구현해야합니다.

관련 문제