Yes, I ran it. It works fine if you make the change I told you to make:
change this:
Y = initialY;
to this:
Y = (int) (screenH /2) - (arrowH / 2) ;
On Thursday, September 13, 2012 11:57:24 PM UTC-5, Haris wrote:
Hai bob, have you run my code..?--
On Monday, 10 September 2012 18:48:32 UTC+5:30, Haris wrote:Hai all
I am trying an application like rotating image with motion sensor....My problem is that the image does not rotate about centre properly....And my angle range is 0 to 90 and 0 to -90..
And below is my code.....
public void onDraw(Canvas canvas) {
super.onDraw(canvas);
Bitmap arrow = BitmapFactory.decodeResource(getResources(),R.drawable. arrow);
int arrowW = arrow.getWidth();
int arrowH = arrow.getHeight();
float scaleWidth = 1;
float scaleHeight = 1;
int centrex = arrowW/2;
int centrey = arrowH/2;
int X=108;
int Y=100;
int angle=0;
Matrix matrix = new Matrix();
matrix.postScale(scaleWidth, scaleHeight);
matrix.postRotate(angle, X+centrex , Y+centrey );
Bitmap resizedBitmap = Bitmap.createBitmap(arrow, 0, 0, arrow.getWidth(), arrow.getHeight(), matrix, true);
canvas.save();
canvas.drawBitmap(resizedBitmap, X, Y, null);
invalidate();
}
I am getting the angle values from onCreate method.....Using orientation sensor(roll values)..
But When I rotate the screen my image is rotating but not exactly around the image centre.....
Thanks......
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
No comments:
Post a Comment