A rotation matrix by default rotates around the origin.  What he should 
probably do is subtract the pivot point (thus centering the image at the 
origin), do the rotation, and then add the pivot point again.



On Monday, September 10, 2012 10:52:27 AM UTC-5, Harri Smått wrote:
>
> Hi,
>
> Why are you adding constants X and Y to pivot point?
>
> --
> H
> On Sep 10, 2012 4:18 PM, "Haris" <[email protected] <javascript:>> 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 
>> [email protected]<javascript:>
>> To unsubscribe from this group, send email to
>> [email protected] <javascript:>
>> For more options, visit this group at
>> http://groups.google.com/group/android-developers?hl=en
>
>

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to