Note that there are some explanatory texts on larger screens.

plurals
  1. POhow to get select area which cover by canvas in android
    primarykey
    data
    text
    <p>hi i want create simple cropImage Apps.so I Use <code>canvas</code> and draw it rubtime.i draw the canvas over the view.so i want get clip the area which cover by canvas. so here i do like this.</p> <p>First Create <code>Canvas Example</code></p> <pre><code>public class CanvasExample extends Activity { /** Called when the activity is first created. */ RelativeLayout relMainOperationLayout; RelativeLayout relTabHeader; RelativeLayout relMidalLayout; RelativeLayout relBelowLayout; Context myContext; DrawCanvas drawCanvas; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); myContext=CanvasExample.this; LayoutInflater layoutInflater=(LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); int layoutId = myContext.getResources().getIdentifier("main","layout",getPackageName()); relMainOperationLayout = (RelativeLayout) layoutInflater.inflate(layoutId,null); relTabHeader=(RelativeLayout) relMainOperationLayout.findViewById(R.id.relHeadLayout); relMidalLayout=(RelativeLayout) relMainOperationLayout.findViewById(R.id.relmidalLayout); relBelowLayout=(RelativeLayout) relMainOperationLayout.findViewById(R.id.relBelowLayout); drawCanvas=new DrawCanvas(CanvasExample.this,myContext); //drawCanvas.setBackgroundColor(Color.YELLOW); drawCanvas.setBackgroundDrawable(CanvasExample.this.getResources().getDrawable(R.drawable.ic_launcher)); RelativeLayout.LayoutParams drawParams=new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT,200); drawParams.addRule(RelativeLayout.BELOW, relTabHeader.getId()); //relMidalLayout.addView(drawCanvas,drawParams); relMainOperationLayout.addView(drawCanvas,drawParams); setContentView(relMainOperationLayout); } </code></pre> <p>after this i create one class <code>DrawCanvas</code> extends <code>View</code>. and Draw the <code>Canvas</code> run time.</p> <pre><code>public class DrawCanvas extends View { Context drawContext; Activity drawActivity; ImageView image; Paint mPaint; int left=0,right=0,top=0,bottom=0; Canvas passCanvas; public DrawCanvas(Activity activity,Context context) { super(activity); this.drawActivity=activity; this.drawContext=context; mPaint = new Paint(); mPaint.setDither(true); mPaint.setColor(Color.RED); mPaint.setStyle(Paint.Style.STROKE); mPaint.setStrokeJoin(Paint.Join.ROUND); mPaint.setStrokeCap(Paint.Cap.ROUND); mPaint.setStrokeWidth(3); this.setOnTouchListener(new View.OnTouchListener() { //@Override public boolean onTouch(View v, MotionEvent event) { switch (event.getActionMasked()) { case MotionEvent.ACTION_DOWN: invalidate(); left=(int) event.getX(); right=left+1; top=(int) event.getY(); bottom=top+1; mPaint.setColor(Color.BLACK); onDraw(passCanvas=new Canvas()); break; case MotionEvent.ACTION_MOVE: invalidate(); int tempX=(int) event.getX(); if(tempX&gt;right) { right=right+1; }else { right=right-1; } int tempY=(int) event.getY(); if(tempY&gt;bottom) { bottom=bottom+1; }else { bottom=bottom-1; } mPaint.setColor(Color.GREEN); onDraw(passCanvas=new Canvas()); break; case MotionEvent.ACTION_UP: invalidate(); mPaint.setColor(Color.RED); onDraw(passCanvas=new Canvas()); System.err.println("After Touch Up"); Rect rect= passCanvas.getClipBounds(); System.err.println("Save Canvas--&gt;"+passCanvas.save()); System.err.println("Display Rect Width==&gt;"+rect.toString()); break; default: break; } return true; } }); } @Override protected void onDraw(Canvas canvas) { canvas.drawRect(left, top, right, bottom, mPaint); } </code></pre> <p>}</p> <p>so now i what to do i want crop the covered area by canvas. Thank in advance.</p> <p>when i getClipBounds it Display null value now i what to Do.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload