Android 使用Matrix对Bitmap进行处理

本文介绍了如何在Android中使用Matrix对Bitmap进行缩放、旋转、平移和斜切等变换。通过示例代码展示了如何设置Matrix的scale、translate和skew方法,并通过createBitmap方法创建新的Bitmap实例。此外,还提供了查看Matrix变换值的方法。
摘要由CSDN通过智能技术生成

Android中使用Matrix对图像进行缩放、旋转、平移、斜切等变换的。Matrix是一个3*3的矩阵,其值对应如下:下面给出具体坐标对应变形的属性

|scaleX, skewX, translateX| 
|skewY, scaleY, translateY|
         |0 ,0 , scale |                       Matrix提供了一些方法来控制图片变换:
setTranslate(float dx,float dy):控制Matrix进行位移。
setSkew(float kx,float ky):控制Matrix进行倾斜,kx、ky为X、Y方向上的比例。

setSkew(float kx,float ky,float px,float py):控制Matrix以px、py为轴心进行倾斜,kx、ky为X、Y方向上的倾斜比例。

以上的set方法,均有对应的post和pre方法,Matrix调用一系列set,pre,post方法时,可视为将这些方法插入到一个队列.当然,按照队列中从头至尾的顺序调用执行.其中pre表示在队头插入一个方法,post表示在队尾插入一个方法.而set表示把当前队列清空,并且总是位于队列的最中间位置.当执行了一次set后:pre方法总是插入到set前部的队列的最前面,post方法总是插入到set后部的队列的最后面Demo

Bitmap bitmap = null;
bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.lena);


* 缩小
@Click
void btn1() {
Matrix matrix = new Matrix();
matrix.setScale(0.5f, 0.5f);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值