android bitmap缩放

原创 2012年03月30日 12:15:54
package com.dengfan;


import android.graphics.Bitmap;
import android.graphics.Matrix;


public class BitmapZoom 
{

/**
* 按指定比例压缩
* @param srcBitmap
* @param percent
* @return
*/
public static Bitmap bitmapZoomByPercent(Bitmap srcBitmap ,double percent)
{
int srcWidth = srcBitmap.getWidth();   
        int srcHeight = srcBitmap.getHeight();    
  
        float scaleWidth = (float) percent;   
        float scaleHeight = (float) percent;   
  
        return bitmapZoomByScale(srcBitmap, scaleWidth, scaleHeight);
}

/**
* 按照指定长宽压缩
* @param srcBitmap
* @param newWidth
* @param newHeight
* @return
*/
public static Bitmap bitmapZoomBySize(Bitmap srcBitmap,int newWidth,int newHeight)
{
int srcWidth = srcBitmap.getWidth();   
        int srcHeight = srcBitmap.getHeight();    
  
        float scaleWidth = ((float) newWidth) / srcWidth;   
        float scaleHeight = ((float) newHeight) / srcHeight;   
  
        return bitmapZoomByScale(srcBitmap, scaleWidth, scaleHeight);
}

/**
* 按照高度的百分比压缩
* @param srcBitmap
* @param newHeight
* @return
*/
public static Bitmap bitmapZoomByHeight(Bitmap srcBitmap,int newHeight)
{
int srcWidth = srcBitmap.getWidth();   
        int srcHeight = srcBitmap.getHeight();    
     
        float scaleHeight = ((float) newHeight) / srcHeight;   
        float scaleWidth = scaleHeight;
        
        return bitmapZoomByScale(srcBitmap, scaleWidth, scaleHeight);
}

/**
* 按照宽度的百分比压缩
* @param srcBitmap
* @param newHeight
* @return
*/
public static Bitmap bitmapZoomByWidth(Bitmap srcBitmap,int newWidth)
{
int srcWidth = srcBitmap.getWidth();   
        int srcHeight = srcBitmap.getHeight();    
     
        float scaleWidth = ((float) newWidth) / srcWidth;   
        float scaleHeight = scaleWidth;
        
        return bitmapZoomByScale(srcBitmap, scaleWidth, scaleHeight);
}

/**
* 使用长宽缩放比缩放
* @param srcBitmap
* @param scaleWidth
* @param scaleHeight
* @return
*/
public static Bitmap bitmapZoomByScale(Bitmap srcBitmap,float scaleWidth,float scaleHeight)
{
int srcWidth = srcBitmap.getWidth();   
        int srcHeight = srcBitmap.getHeight();  
Matrix matrix = new Matrix();   
        matrix.postScale(scaleWidth, scaleHeight);     
        Bitmap resizedBitmap = Bitmap.createBitmap(srcBitmap, 0, 0, srcWidth,   
        srcHeight, matrix, true);
        if(resizedBitmap != null)
        {
        return resizedBitmap;
        }
        else
        {
       
        return srcBitmap;
        }
}


}

Android 绘图基础:Bitmap(位图)与Matrix(矩阵)实现图片5种操作(平移、旋转、错切、缩放、对称)

Android的Matrix利用数学原理实现图片平移、旋转等操作详解   很庆幸自己的线性代数学的还可以,理解Matrix的矩阵变换完全没有问题。Matrix矩阵实现图片的平移旋转等操作涉及到线性代...

Android Bitmap转换以及图片的缩放

Bitmap用法总结 1、Drawable → Bitmap Java代码   "font-size: medium;">Bitmap用法总结 1、Drawable → ...

Android中图片Bitmap的缩放

转载地址:http://blog.csdn.net/stoppig/article/details/23198809 一、什么是Android中的Bitmap Bitmap是Android系统...

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

MainActivity如下: package cc.c; import android.app.Activity; import android.graphics.Bitmap; import ...
  • lfdfhl
  • lfdfhl
  • 2014年06月04日 22:27
  • 3595

Android Bitmap 常见的几个操作:缩放,裁剪,旋转,偏移

Android Bitmap 相关操作 常见的几个操作:缩放,裁剪,旋转,偏移      很多操作需要 Matrix 来支持;Matrix 通过矩阵来处理位图,计算出各个像素点的位置...

Android中图片Bitmap的缩放

在Android开发中,经常会遇到Android图片的缩放问题,比如
  • stop_pig
  • stop_pig
  • 2014年04月08日 18:43
  • 20359

android Bitmap的截取及缩放

2011.09.26(7)——— android Bitmap的截取及缩放  参考:http://chroya.iteye.com/blog/710262  有一个任务 显示一张图片的中间地方...

android 常用Bitmap处理方法收集:普通裁剪,缩放,圆形裁剪

代码是平常使用时收集的,并不是我本人所写。这些bitmap处理方法在我的android程序里面使用相对较多,希望对大家也有些帮助。 import android.graphics.Bitmap; im...

android中Bitmap用法(显示,保存,缩放,旋转)实例分析

博客源址:android中Bitmap用法(显示,保存,缩放,旋转)实例分析 博客时间:2015 本文实例讲述了android中Bitmap用法。分享给大家供大家参考。具体如下: ...

Android图片压缩与缩放,Bitmap和Drawable相互转换(转)

本文转自http://blog.csdn.net/demonliuhui/article/details/62425151 根据Bitmap压缩图片 该方法不适用特别大的图片,如果图片过大会及其耗时...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android bitmap缩放
举报原因:
原因补充:

(最多只允许输入30个字)