public void onDraw(Canvas can){
   System.out.println("onDraw");
   can.drawColor(Color.WHITE);
   
   ImageView imageView = (ImageView) findViewById(R.id.btn01);

   imageView.setDrawingCacheEnabled(true);
   Bitmap bitmap = imageView.getDrawingCache();
   //Bitmap bitmap = BitmapFactory.decodeResource(getResources(),drawable.test);
   can.drawBitmap(bitmap, 0, 0, null);

 

그림판 프로그램 만들고있는 코딩중 일부분이구요

 

주석처리되있는부분 //Bitmap bitmap = BitmapFactory.decodeResource(getResources(),drawable.test);

으로 그림을 직접 drawable폴더에 넣고 하니 그림판 배경으로 사진이 잘 들어갔는대요 저가 원하는건 사진을 선택해서 그 선택된 사진을 배경으로 넣어야 되기 때문에 setDrawingCacheEnabled를 사용했는대요

테스트로 btn01이미지뷰에 test그림을 넣고 위에 코딩식으로 실행을 했더니 널값으로 실행이 안되는 문제가 생기네요

 

무엇이 잘못된 것일까요................

 

그리고 추가로

 

super(context,attrs);
   p.setColor(Color.BLACK);
   p.setAntiAlias(true);
   p.setStrokeWidth(5);
   p1.setColor(Color.RED);
   p1.setAntiAlias(true);
   p1.setStrokeWidth(5);
   p2.setColor(Color.YELLOW);
   p2.setAntiAlias(true);
   p2.setStrokeWidth(5);
   p3.setColor(Color.BLUE);
   p3.setAntiAlias(true);
   p3.setStrokeWidth(5);
   }

//////////////////////////////////////////////////////////////////////////////이렇게 팬 색깔 종류를 만들고

for(int i=0;i<list.size();i++){
    Vertex v = list.get(i);
    if(v.stat == true){
   
     if(b.b==0){
      can.drawLine(list.get(i-1).x,list.get(i-1).y ,list.get(i).x,list.get(i).y, p);
     }

     else if(b.b==1){
      can.drawLine(list.get(i-1).x,list.get(i-1).y ,list.get(i).x,list.get(i).y, p1);
     }
      
     else if(b.b==2){      
      can.drawLine(list.get(i-1).x,list.get(i-1).y ,list.get(i).x,list.get(i).y, p2);
     }
     else if(b.b==3){      
      can.drawLine(list.get(i-1).x,list.get(i-1).y ,list.get(i).x,list.get(i).y, p3);
      }
     else{
      can.drawLine(list.get(i-1).x,list.get(i-1).y ,list.get(i).x,list.get(i).y, p);
     }
      }
     }
    }

////////////////////////////////////////////////////////////////이렇게 b에 0이 들어가며 검은색 1이들어가면 빨강색 이런식으로 짰는대요 문제는

검은색으로 그리다가 빨강색을 선택한뒤 빨간색으로 그리면 전에 그렸던 검은색도 빨강색으로 변하네요 ㅠ

 

둘중에 한가지라도 아신다면 가르켜주시면 감사하겠습니다