Android bitmap的拷贝以及平移旋转缩放等效果

package com.example.bitmap;


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


public class MainActivity extends Activity {
private ImageView iv1;
private ImageView iv2;
private Bitmap srcBitmap;
private Bitmap alterBitmap;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
iv1=(ImageView) findViewById(R.id.iv1);
iv2=(ImageView) findViewById(R.id.iv2);
//1.给v1设置一个位图
srcBitmap=BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
iv1.setImageBitmap(srcBitmap);

//2.创建一个空白的位图
alterBitmap=Bitmap.createBitmap(srcBitmap.getWidth()*3, srcBitmap.getHeight(), srcBitmap.getConfig());
}

public void click(View view){
//1.把空白的位图给了画板  准备画画
Canvas canvas=new Canvas(alterBitmap);
//2.设置画笔
Paint paint=new Paint();
paint.setAntiAlias(true);  //消除锯齿
//3.画位图

Matrix m=new Matrix();
//1.设置缩放的比例
//m.setScale(1.0f, 2.0f);
//2.指定圆心的旋转90度
//m.setRotate(90,srcBitmap.getWidth()/2,srcBitmap.getHeight()/2);
//3.镜子效果
/*m.setScale(-1.0f, 1.0f);//先镜子到y轴的左侧
m.postTranslate(srcBitmap.getWidth(), 0);//然后在向右平移到屏幕上
        */
//4.倒影效果
/*m.setScale(1.0f, -1.0f);//线倒影要图片的下面  
m.postTranslate(0, srcBitmap.getHeight());//然后向上平移到原来的位置*/
//5.平移效果  
   m.setTranslate(100,20);
canvas.drawBitmap(srcBitmap,m, paint);
iv2.setImageBitmap(alterBitmap);
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值