안드로이드 개발 질문/답변
(글 수 45,052)
제가 사진첩에서 이미지뷰로 받아서 뿌려지고있는데
제가 그위에 선 그릴려고하는데 어떻게해야하나요 ?
캔버스가 필요한데....
지금 레이아웃이 가운데에 이미지뷰로 잡혀있어서 그위에 캔버스 뷰를 덧씌우나요 ?
잘몰라서 올립니다. 꼭 알려주세요 ㅠㅠ 이것때매 몇일을....
2012.03.26 13:30:21
img_temp2 = BitmapFactory.decodeResource(context.getResources(), R.drawable.config_bg01); // 흰색 배경이미지를 로드한다.
img_temp1 = Bitmap.createBitmap(img_temp2.getWidth(), img_temp2.getHeight(), Config.ARGB_8888); // 메모리에 가상의 이미지를 만든다.
img_temp3 = BitmapFactory.decodeResource(context.getResources(), id); // 환경설정 텍스트 이미지를 로드한다.
이소스는 제가 배경을 지정하는거아닌가요 -0-?
저는 사진첩에서 사진불러온걸 배경으로 하고싶은건데.. 배경에깔고 그위에 선이나 이런걸 그리고싶은데.. 그런거 어떻게해야하나요?




메모리에 Bitmap을 생성하시고 그 bitmap을 이용해 Canvas를 생성하세요.
그리고 canvas를 이용해서 bitmap에 그림을 그리시면 됩니다.
선을 그리시려면 drawLine 메소드를 이용하시면 되겠네요...
public Bitmap makeBitmapConfigBG(Context context, int id, int width, int height){
Bitmap img_temp1 = null;
Bitmap img_temp2 = null;
Bitmap img_temp3 = null;
img_temp2 = BitmapFactory.decodeResource(context.getResources(), R.drawable.config_bg01); // 흰색 배경이미지를 로드한다.
img_temp1 = Bitmap.createBitmap(img_temp2.getWidth(), img_temp2.getHeight(), Config.ARGB_8888); // 메모리에 가상의 이미지를 만든다.
img_temp3 = BitmapFactory.decodeResource(context.getResources(), id); // 환경설정 텍스트 이미지를 로드한다.
canvas = new Canvas(img_temp1);
paint = new Paint();
canvas.drawBitmap(img_temp2, 0, 0, paint); // 배경이미지를 그린다.
canvas.drawBitmap(img_temp3, 10, (img_temp2.getHeight()/2)-(img_temp3.getHeight()/2), paint); // 텍스트 이미지를 그린다.
img_temp1 = Bitmap.createScaledBitmap(img_temp1, width, height, true); // 다 그려진 이미지를 리사이징한다.
return img_temp1;
}
이 소스는 흰색배경이미지와 환경설정 텍스트이미지를 불러와서 img_temp1 이라는 bitmap에 그림을 그린 메소드입니다.
canvas.drawBitmap 대신 canvas.drawLine 하시면될거에요... 참고하세요...