0

Imageview を作成し、Matrix を使用して回転します。ただし、バックラウンドは配偶者の画像を回転させません。

私は画像を回転させています。助けて

         Bitmap myBitmap = BitmapFactory.decodeResource(getResources(),
     R.drawable.a);
     Display d = getWindowManager().getDefaultDisplay();
     int x = d.getWidth();
     int y = d.getHeight();
     ImageView img1 = (ImageView) findViewById(R.id.img1);
     Bitmap scaledBitmap = Bitmap.createScaledBitmap(myBitmap, y, x,
     true);
     Matrix matrix = new Matrix();
     matrix.postRotate(-45); // anti-clockwise by 90 degrees
     Bitmap rotatedBitmap = Bitmap
     .createBitmap(scaledBitmap, 0, 0, scaledBitmap.getWidth(),
     scaledBitmap.getHeight(), matrix, true);
     img1.setImageBitmap(rotatedBitmap);
     img1.setBackgroundResource(color.white);
4

1 に答える 1

0

これは、画像を90度回転させるために使用したコードです。

         if(oldAngle == 0){
              newAngle = oldAngle + 90;
            }
            else if(oldAngle == 90)
                newAngle = oldAngle - 90;
              LinearLayout.LayoutParams layoutParams = (LinearLayout.LayoutParams) view.getLayoutParams();
              int centerX = layoutParams.leftMargin + (view.getWidth()/2);
              int centerY = layoutParams.topMargin + (view.getHeight()/2);
              RotateAnimation animation = new RotateAnimation(oldAngle, newAngle, centerX, centerY);
              animation.setDuration(0);
              animation.setRepeatCount(2);
              animation.setFillAfter(true);
              view.startAnimation(animation);

              oldAngle = newAngle;

それがあなたを助けることを願っています...

于 2013-03-28T19:17:31.150 に答える