2011-08-25 4 views
0

사용자가 화면을 클릭하면 Canvas.drawBitmap()을 사용하여 이미지를 그릴 수 있습니다. 그 좌표를 바꾸고 싶습니다. 그러나 나는 할 수 없다. 나는 많은 방법을 시도했다. 인터넷의 일부 자습서는 끌어서 놓기 예제를 제공합니다. 그러나 사용자가 더 긴 시간을 눌러주기를 원합니다. 나는 그 좌표를 즉시 바꿀 수 있어야한다. 어떻게해야합니까?캔버스에 이미지를 그린 다음 좌표를 바꿀 수 있습니까?

+0

원하는 위치에 그려서 다른 것을 다시 그려 넣으시겠습니까 ?? – confucius

+0

아니요, 다른 것은 아닙니다. 그려진 비트 맵을 사용하고 싶습니다 – slhddn

답변

2

그 좌표에 Bitmap을 다시 그려야합니다. 그렇게하기 전에 Canvas.drawColor(0, PorterDuff.Mode.CLEAR)을 사용하여 화면을 지우십시오.

+0

그것은 효과가있다. 고마워요 :) – slhddn

1

설명 된 것처럼 불가능하지만 목표를 달성하는 데는 두 가지 가능성이 있습니다. 먼저 Canvas.drawBitmap()을 사용하면 이미지를 쉽게 변형 할 수있는 일련의 방법이 있습니다. 두 번째 캔버스 설정 변환은 캔버스의 가시 ​​영역을 "이동/스크롤링/스케일링"(보다 정확하게 변환)이라고 생각할 수 있습니다. SurfaceView의 onTouch 핸들러로 후크 주위로 이미지를 이동합니다.

+0

죄송합니다, drawImage가 아닙니다. 나는 당신이 말한 것처럼 drawBitmap()을 사용했다. 그러나 위의 잘못 쓰셨습니다. 실제로, 나는 전에 생성 된 비트 맵을 어떻게 사용할 수 있는지 이해하지 못합니다. 그리기는하지만 객체로 사용하는 방법은 무엇입니까? 비트 맵 _scratch = BitmapFactory.decodeResource (getResources(), R.drawable.icon); \t \t canvas.drawBitmap (_scratch, touched_x, touched_y, null); – slhddn

+0

다른 x와 y를 사용하여 다른 위치에서 drawBitmap을 왜 사용하지 않으시겠습니까? –

+0

나는 오래된 것을 원하지 않고 Che의 대답이 나를 위해 일했다. 시간 내 주셔서 감사합니다 :) – slhddn

관련 문제