您的位置:首页 > 其它

图片的缩放、旋转和平移

2016-04-02 11:22 99 查看
1、视图

<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>


2、代码

package com.example.imageresize;

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 iv_1;
private ImageView iv_2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

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

Bitmap bitmap1 = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
iv_1.setImageBitmap(bitmap1);

Bitmap alterBitmap = Bitmap.createBitmap(bitmap1.getWidth() + 10, bitmap1.getHeight() + 10, bitmap1.getConfig());
Canvas canvas = new Canvas(alterBitmap);
Paint paint = new Paint();
paint.setColor(Color.BLACK);
Matrix matrix = new Matrix();
/***************图片缩放代码start******************/
//注意x轴和y轴的缩放
/* matrix.setValues(new float[]{
2.0f,0,1,
0,1,0,
0,0,1
});*/
//matrix.setScale(2.0f, 1);
/***************图片缩放代码end******************/
//matrix.setRotate(180, bitmap1.getWidth()/2, bitmap1.getHeight()/2);
//matrix.setRotate(15);
/***********镜子效果start*************/
matrix.setScale(-1, 1);
matrix.postTranslate(bitmap1.getWidth(), 0);//这样设置就是平移
/***********镜子效果end*************/
//matrix.setTranslate(10, 10);//x和y轴移动10个像素
//以bitmap1为模板画进画布中
canvas.drawBitmap(bitmap1, matrix, paint);
iv_2.setImageBitmap(alterBitmap);
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: