首页 > 代码库 > Android 图片的平移和镜面和倒影效果
Android 图片的平移和镜面和倒影效果
在前面的文章中陆续介绍了图片的旋转与缩放,本文继续介绍关于图片的操作
图片的平移
使用下面的代码将图水平竖直方向平移10个像素
matrix.setTranslate(10, 10);
可以看到图片不完整,需要修改代码:
// 新建一个bitmapBitmap 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); }}
Android 图片的平移和镜面和倒影效果
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。