I am trying to create BUTTON over BITMAP or OVERLAYING buttons on a view. Here I create a digital signature. after signing i need to save for this i need a button. please help me. This is very urgent. Thanks you
Here is my code
import android.content.Context; import android.content.Intent; import android.graphics.Bitmap; import android.graphics.Bitmap.Config; import android.graphics.BitmapFactory; import android.graphics.BlurMaskFilter; import android.graphics.BlurMaskFilter.Blur; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.Path; import android.graphics.PorterDuff.Mode; import android.graphics.PorterDuffXfermode; import android.os.Bundle; import android.util.Log; import android.view.MenuItem; import android.view.MotionEvent; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup.LayoutParams; import android.widget.Button; import android.widget.TextView; public class FingerPaint extends GraphicsActivity implements OnClickListener { private TextView pauseButton; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(new MyView(this)); Capture_SignatureActivity.writeLog("In FingerPaint class"); mPaint = new Paint(); mPaint.setAntiAlias(true); mPaint.setDither(true); mPaint.setColor(0xFF003F87); mPaint.setStyle(Paint.Style.STROKE); mPaint.setStrokeJoin(Paint.Join.ROUND); mPaint.setStrokeCap(Paint.Cap.ROUND); mPaint.setStrokeWidth(1); } private Paint mPaint; public void colorChanged(int color) { Capture_SignatureActivity.writeLog("In color changed"); 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; private Bitmap overlayDefault; private Bitmap overlay; private Canvas c2; private Paint pTouch; private float X = -100; private float Y = -100; public MyView(Context c) { super(c); Capture_SignatureActivity.writeLog("In MyVIEW"); mPath = new Path(); mBitmapPaint = new Paint(Paint.DITHER_FLAG); mBitmap = BitmapFactory.decodeResource(getResources(),R.drawable.ic_launcher); overlayDefault = BitmapFactory.decodeResource(getResources(),R.drawable.ic_launcher); overlay = BitmapFactory.decodeResource(getResources(),R.drawable.ic_launcher).copy(Config.ARGB_8888, true); c2 = new Canvas(overlay); pTouch = new Paint(Paint.ANTI_ALIAS_FLAG); pTouch.setXfermode(new PorterDuffXfermode(Mode.SRC_OUT)); pTouch.setColor(Color.TRANSPARENT); pTouch.setMaskFilter(new BlurMaskFilter(15, Blur.NORMAL)); pTouch.setMaskFilter(startActivity(FingerPaint.this, Capture_SignatureActivity.class)); } @Override protected void onSizeChanged(int w, int h, int oldw, int oldh) { super.onSizeChanged(w, h, oldw, oldh); System.out.println("w-->"+w+"-->"+"h--"+h+"-->"+"oldw-->"+oldh+"oldw-->"+oldw); Capture_SignatureActivity.writeLog("In onSizeChanged"); mBitmap = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888); mCanvas = new Canvas(mBitmap); } @Override protected void onDraw(Canvas canvas) { Capture_SignatureActivity.writeLog("In onDraw"); canvas.drawColor(0xFFFFFFFF); canvas.drawBitmap(mBitmap, 0, 0, mBitmapPaint); canvas.drawPath(mPath, mPaint); c2.drawBitmap(overlayDefault, 0, 0, null);
I can create an image and get started. Please let me know how to solve this problem.
Rahul baradia
source share