android 图片缩放

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();


}
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值