Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> Android 圖片的平移和鏡面和倒影效果,

Android 圖片的平移和鏡面和倒影效果,

編輯:關於android開發

Android 圖片的平移和鏡面和倒影效果,


在前面的文章中陸續介紹了圖片的旋轉與縮放,本文繼續介紹關於圖片的操作

圖片的平移

使用下面的代碼將圖水平豎直方向平移10個像素

matrix.setTranslate(10, 10);

可以看到圖片不完整,需要修改代碼:

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

其他代碼均不變

圖片的鏡面效果

代碼如下:

matrix.setScale(-1, 1);
matrix.postTranslate(bitmap1.getWidth(), 0);

實現的效果:

圖片的倒影效果

代碼如下:

//倒影效果
matrix.setScale(1, -1);
matrix.postTranslate(0, bitmap1.getHeight());
        

實現的效果:

完整代碼如下:

package com.wuyudong.resize;

import android.os.Bundle;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Matrix;
import android.graphics.Paint;
import android.view.Menu;
import android.widget.ImageView;

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.unlock);

        iv1.setImageBitmap(bitmap1);

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

        // 以alterBitmap為模板新建畫布
        Canvas canvas = new Canvas(alterBitmap);
        // 新建畫筆並設置屬性
        Paint paint = new Paint();
        paint.setColor(Color.BLACK);

        // 新建矩陣並設置縮放值
        Matrix matrix = new Matrix();
        
        //鏡面效果
        //matrix.setScale(-1, 1);
        //matrix.postTranslate(bitmap1.getWidth(), 0);
        
        //倒影效果
        matrix.setScale(1, -1);
        matrix.postTranslate(0, bitmap1.getHeight());
        
        //平移效果
        // matrix.setTranslate(10, 10);

        // 設置畫布
        canvas.drawBitmap(bitmap1, matrix, paint);
        iv2.setImageBitmap(alterBitmap);
    }

}

 

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