Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> Android 圖片的縮放與旋轉,

Android 圖片的縮放與旋轉,

編輯:關於android開發

Android 圖片的縮放與旋轉,


本文實現Android中的圖片的縮放效果

首先設計布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity" >

    <ImageView
        android:id="@+id/iv_1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        />

    <ImageView
        android:id="@+id/iv_2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
         />

</LinearLayout>

邏輯代碼如下:

public class MainActivity extends Activity {

    private ImageView iv1;
    private ImageView iv2;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        iv1 = (ImageView) findViewById(R.id.iv_1);
        iv2 = (ImageView) findViewById(R.id.iv_2);

        // 設置第一個bitmap的圖標
        Bitmap bitmap1 = BitmapFactory.decodeResource(getResources(),
                R.drawable.ic_launcher);

        iv1.setImageBitmap(bitmap1);

        // 新建一個bitmap
        Bitmap alterBitmap = Bitmap.createBitmap(bitmap1.getWidth(),
                bitmap1.getHeight(), bitmap1.getConfig());

        // 以alterBitmap為模板新建畫布
        Canvas canvas = new Canvas(alterBitmap);
        // 新建畫筆並設置屬性
        Paint paint = new Paint();
        paint.setColor(Color.BLACK);
        
        //新建矩陣並設置縮放值
        Matrix matrix = new Matrix();
        matrix.setValues(new float[] { 
                0.5f, 0, 0, 
                0, 1, 0, 
                0, 0, 1 
        });
        //設置畫布
        canvas.drawBitmap(bitmap1, matrix, paint);
        iv2.setImageBitmap(alterBitmap);
    }

}

如果你對矩陣的設置不清楚,還可以使用下列api提供的方法替換上面標記部分的代碼:

 matrix.setScale(0.5f, 1);

最後運行項目效果如下:

除了圖像的縮放,還可以使圖片旋轉指定的角度,例如旋轉180度

matrix.setRotate(180, bitmap1.getWidth() / 2, bitmap1.getHeight() / 2);

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved