마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

터치 이벤트로 그린 원을 저장하고 새 원을 마저 그릴려면, 어떻게 해야하나요?

0 추천
https://mainia.tistory.com/1277 이사이트 내 코드를 보고  터치스크린을 이용해서 원을그리는법을 알았는데요,

제가 하고싶은건 캔버스에  그린 원을 저장한후에 원그리기를 눌러서 또 새로운 원을 캔버스에  그리고싶어요.

그럴려면 어떻게 해야할까요?
acsp (120 포인트) 님이 2021년 9월 24일 질문
빈 Bitmap을 뷰사이즈만하게 만들고,
public static Bitmap createBitmap (Bitmap source,
                int x,
                int y,
                int width,
                int height)
https://developer.android.com/reference/android/graphics/Bitmap#createBitmap(android.graphics.Bitmap,%20int,%20int,%20int,%20int)


이걸 canvas.setBitmap()으로 canvas와 연결시켜준 다음
public void setBitmap (Bitmap bitmap)
https://developer.android.com/reference/android/graphics/Bitmap#compress(android.graphics.Bitmap.CompressFormat,%20int,%20java.io.OutputStream)

이 상태에서 사용자 입력을 받으면 앞에서 생성한 bitmap에 canvas에 입력된 내용이 메모리에 있을 겁니다.

이걸 bitmap.compress를 이용하여 FileStream으로 저장.
public boolean compress (Bitmap.CompressFormat format,
                int quality,
                OutputStream stream)

https://developer.android.com/reference/android/graphics/Bitmap#compress(android.graphics.Bitmap.CompressFormat,%20int,%20java.io.OutputStream)

저장된 bitmap을 캔버스에 그려줄 때는 canvas.drawBitmap을 이용.
public void drawBitmap (Bitmap bitmap,
                float left,
                float top,
                Paint paint)
감사합니다  한번 해볼게용!

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...