2013-03-28 146 views
0

我創建了Imageview並使用Matrix進行旋轉。但背景不旋轉espouse圖像。旋轉背景資源Imageview

我是背景旋轉圖像。幫我

  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); 
+0

要旋轉圖像? – kamil

回答

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; 

希望它會幫助你...