android - Rectangle is not drawn at its original coordinates -


i facing problem while creating customview draw rectangle , can re-size corners.

following code.

public class customview extends view {     canvas canvas;     private context mcontext;     private rect rectobj;     private paint rectpaint;     private matrix transform;     public customview(context context) {         super(context);         mcontext = context;         initview();     }     public customview(context context, attributeset attrs) {         super(context, attrs);         mcontext = context;         initview();     }     public customview(context context, attributeset attrs, int defstyle) {         super(context, attrs, defstyle);     }      public void initview() {         rectpaint = new paint();         rectpaint.setcolor(color.parsecolor("#55000000"));          setfocusable(true); // necessary getting touch events         canvas = new canvas();         // setting start point balls          rectobj = new rect(100, 100, 200, 200);          // create matrix rotation         transform = new matrix();     }      @override     public void ondraw(canvas canvas) {         // easy way apply same transformation (e.g.         // rotation)         // complete canvas.         canvas.setmatrix(transform);          // canvas being rotated, can draw         // our elements (rect , point)         canvas.drawrect(rectobj, rectpaint);     } } 

when run program, following output come.

enter image description here

as display in image, "rectangle"'s top-left 100,100 when touch on "left-top corner of rectangle" on screen, x-y 150,76 or not match original drawing.

i have use canvas.setmatrix(transform) rotate rectangle in next phase.
whats going wrong in code?

in method ondraw(canvas canvas) 1 thing should calling method super.ondraw(cavas), after instead of doing 'canvas.setmatrix(transform);' should 'canvas.concat(transform);' because canvas has initial matrix values saved. also, if need rotate or translate rect, can rotate , translate canvas doing canvas.rotate(degree) example.


Comments

Popular posts from this blog

Change php variable from jquery value using ajax (same page) -

Pull out data related to my apps from Android Play Store and iOS App Store -

How can I fetch data from a web server in an android application? -