안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요 평소 펍에서 많은 도움을 받고 있는 초보 개발자 입니다.
android API demo 에 나와있는 fingerPaint 라는 그림 그리는 어플을
현재 제가 작업하고 있는 activity 에 적용을 하고 싶습니다.
예를 들면 optionMenu 를 하나 만들고 그 메뉴 버튼을 클릭하면 현재 activity 의 view 바로
그림이 그려지게 구현을 하고 싶습니다.
그러기 위해서는 배경화면의 bitmap 을 현재 activity view 로 해줘야 할거 같은데
현재 view 를 bitmap 으로 바꾸려면 어떻게 해야하는지 도움좀 부탁드립니다.
감사합니다.
import android.content.Context; import android.graphics.*; import android.os.Bundle; import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.view.MotionEvent; import android.view.View; public class FingerPaint extends GraphicsActivity implements ColorPickerDialog.OnColorChangedListener { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(new MyView(this)); mPaint = new Paint(); mPaint.setAntiAlias(true); mPaint.setDither(true); mPaint.setColor(0xFFFF0000); mPaint.setStyle(Paint.Style.STROKE); mPaint.setStrokeJoin(Paint.Join.ROUND); mPaint.setStrokeCap(Paint.Cap.ROUND); mPaint.setStrokeWidth(12); mEmboss = new EmbossMaskFilter(new float[] { 1, 1, 1 }, 0.4f, 6, 3.5f); mBlur = new BlurMaskFilter(8, BlurMaskFilter.Blur.NORMAL); } private Paint mPaint; private MaskFilter mEmboss; private MaskFilter mBlur; public void colorChanged(int color) { mPaint.setColor(color); } public class MyView extends View { private static final float MINP = 0.25f; private static final float MAXP = 0.75f; private Bitmap mBitmap; private Canvas mCanvas; private Path mPath; private Paint mBitmapPaint; public MyView(Context c) { super(c); mBitmap = Bitmap.createBitmap(320, 480, Bitmap.Config.ARGB_8888); mCanvas = new Canvas(mBitmap); mPath = new Path(); mBitmapPaint = new Paint(Paint.DITHER_FLAG); } @Override protected void onSizeChanged(int w, int h, int oldw, int oldh) { super.onSizeChanged(w, h, oldw, oldh); } .... .... ........... }