android图片缩小和放大Matrix

/**Bitmap放大的方法*/
private static Bitmap big(Bitmap bitmap) {
Matrix matrix = new Matrix();
matrix.postScale(1.5f,1.5f); //长和宽放大缩小的比例
Bitmap resizeBmp = Bitmap.createBitmap(bitmap,0,0,bitmap.getWidth(),bitmap.getHeight(),matrix,true);
return resizeBmp;
}
/**Bitmap缩小的方法*/
private static Bitmap small(Bitmap bitmap) {
Matrix matrix = new Matrix();
matrix.postScale(0.8f,0.8f); //长和宽放大缩小的比例
Bitmap resizeBmp = Bitmap.createBitmap(bitmap,0,0,bitmap.getWidth(),bitmap.getHeight(),matrix,true);
return resizeBmp;
}

// 绘制图片
            int saveCount = canvas.getSaveCount();
            canvas.save();
            canvas.translate(pLeft, pTop);   //画布画笔起点位置
            if (item.matrix != null) {
                canvas.concat(item.matrix);  //画布添加matrix矩阵
            }
            // 设置该图绘制的区域, 图片的绘制区域参数会跟随matrix参数的scale 同步放大缩小,比如如果绘制起点是100px处同时matrix.scale=0.5
//            则实际绘制中绘制起点在50px处
            canvas.clipRect(item.rect);
            // 绘制三张图片
            //  canvas.drawBitmap()中绘制起点位置随matrix参数的scale 同步放大缩小,比如如果绘制起点是100px处同时matrix.scale=0.5
//            则实际绘制中绘制起点在50px处
            canvas.drawBitmap(item.bitmap,
                    item.rect.left, item.rect.top, mPaint);
            canvas.restoreToCount(saveCount);

时间: 2024-10-12 15:03:57

android图片缩小和放大Matrix的相关文章

android 图片旋转 移动 放大缩小

图片的变化主要是matrix的变化,对matrix不懂的可以先了解下matrxi. public class FunnyView extends View { /* * 手指按下时可能是移动 也可能是拖动 */ private static final int ZOOM = -1 ; private static final int DRAG = 1; private int mode = 0; // 第一个触控点 private PointF startPointF = new PointF

android图片缩放、放大demo - Android实例教程

示例原图: 拖动查看其他部分:  放大仔细查看 代码示例,注释比较详细,其他不多讲了 package com.study.drascale;import android.os.Bundle;import android.app.Activity;import android.graphics.Matrix;import android.graphics.PointF;import android.util.FloatMath;import android.view.MotionEvent;imp

动画--android图片点击放大动画,并遮挡旁边的控件

http://blog.csdn.net/s13488941815/article/details/40649823: 首先是点击放大可以使用android自带的缩放动画,因为要遮盖其他控件,就需要控件处在最上层,这里需要调用bringTofront方法@Overridepublic boolean onTouch(View v, MotionEvent event) {// TODO Auto-generated method stubswitch (event.getAction()) {c

Android 图片的放大缩小拖拉

package com.example.ImageView; import android.annotation.SuppressLint; import android.content.Context; import android.graphics.*; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.os.AsyncTask;

[转] Android图片处理(Matrix,ColorMatrix)

在编程中有时候需要对图片做特殊的处理,比如将图片做出黑白的,或者老照片的效果,有时候还要对图片进行变换,以拉伸,扭曲等等. 这些效果在android中有很好的支持,通过颜色矩阵(ColorMatrix)和坐标变换矩阵(Matrix)可以完美的做出上面的所说的效果. 下面将分别介绍这两个矩阵的用法和相关的函数. 颜色矩阵android中可以通过颜色矩阵(ColorMatrix类)方面的操作颜色,颜色矩阵是一个5x4 的矩阵(如图1.1) 可以用来方面的修改图片中RGBA各分量的值,颜色矩阵以一维数

Android图片旋转,缩放,位移,倾斜,对称完整示例(二)——Bitmap.createBitmap()和Matrix

MainActivity如下: package cc.c; import android.app.Activity; import android.graphics.Bitmap; import android.graphics.Matrix; import android.graphics.drawable.BitmapDrawable; import android.os.Bundle; import android.widget.ImageView; /** * Demo描述: * 利用B

Android图片旋转,缩放,位移,倾斜,对称完整示例(一)——imageView.setImageMatrix(matrix)和Matrix

MainActivity如下: import android.os.Bundle; import android.view.MotionEvent; import android.view.View; import android.view.View.OnTouchListener; import android.widget.ImageView; import android.app.Activity; import android.graphics.Matrix; /** * Demo描述:

用简单的方法,在android上实现手势放大缩小功能

package com.example.eventtest; import java.util.ArrayList; import android.os.Bundle; import android.app.Activity; import android.gesture.GestureOverlayView; import android.gesture.GestureOverlayView.OnGestureListener; import android.graphics.Point; i

WPF技术触屏上的应用系列(五): 图片列表异步加载、手指进行缩小、放大、拖动 、惯性滑入滑出等效果

原文:WPF技术触屏上的应用系列(五): 图片列表异步加载.手指进行缩小.放大.拖动 .惯性滑入滑出等效果 去年某客户单位要做个大屏触屏应用,要对档案资源进行展示之用.客户端是Window7操作系统,54寸大屏电脑电视一体机.要求有很炫的展示效果,要有一定的视觉冲击力,可触控操作.当然满足客户的要求也可以有其它途径.但鉴于咱是搞 .NET技术的,首先其冲想到的微软WPF方面,之前对WPF的了解与学习也只是停留在比较浅的层面,没有进一步深入学习与应用.所以在项目接来以后,也就赶鸭子上架了,经过努力