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