现在的位置: 首页 > 综合 > 正文

android 图片缩放

2014年01月20日 ⁄ 综合 ⁄ 共 1836字 ⁄ 字号 评论关闭

package demo.matrix;

import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Matrix;
import android.graphics.drawable.BitmapDrawable;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;
import android.widget.Toast;
import android.widget.ZoomControls;

public class TestMatrixActivity extends Activity
{
ZoomControls zoomControls = null;
ImageView iv = null;
Matrix matrix = null;
Bitmap bitmap = null;

@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

zoomControls = (ZoomControls) findViewById(R.id.zoomControls);
iv = (ImageView) findViewById(R.id.iv);

bitmap = BitmapFactory.decodeResource(getResources(),
R.drawable.ic_launcher);
// 创建操作图片用的matrix对象
matrix = new Matrix();

// 放大
zoomControls.setOnZoomInClickListener(new ZoomInClickListener());
// 缩小
zoomControls.setOnZoomOutClickListener(new ZoomOutClickListener());
}

class ZoomInClickListener implements OnClickListener
{
@Override
public void onClick(View v)
{
// 缩放图片动作
matrix.postScale(1.5f, 1.5f);
// 旋转图片 动作
// matrix.postRotate(0);

// 创建新的图片
Bitmap resizedBitmap = Bitmap.createBitmap(bitmap, 0, 0,
bitmap.getWidth(), bitmap.getHeight(), matrix, true);

// 将上面创建的Bitmap转换成Drawable对象,使得其可以使用在ImageView, ImageButton中
BitmapDrawable bmd = new BitmapDrawable(resizedBitmap);

iv.setImageBitmap(resizedBitmap);

}

}

class ZoomOutClickListener implements OnClickListener
{
@Override
public void onClick(View v)
{
// 缩放图片动作
matrix.postScale(0.5f, 0.5f);
// 旋转图片 动作
matrix.postRotate(0);

// 创建新的图片
Bitmap resizedBitmap = Bitmap.createBitmap(bitmap, 0, 0,
bitmap.getWidth(), bitmap.getHeight(), matrix, true);

// 将上面创建的Bitmap转换成Drawable对象,使得其可以使用在ImageView, ImageButton中
BitmapDrawable bmd = new BitmapDrawable(resizedBitmap);

iv.setImageDrawable(bmd);
Toast.makeText(getApplicationContext(), "缩小图片", Toast.LENGTH_SHORT)
.show();

}
}
}

抱歉!评论已关闭.