使用Matrix放大或缩小图片
来源:互联网 发布:mac php集成环境 编辑:程序博客网 时间:2024/05/18 04:15
1.将图片ex04_22_1.png放在目录res/drawable-hdpi下
2.布局文件main.xml
<?xml version="1.0" encoding="utf-8"?><AbsoluteLayout android:id="@+id/layout1" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"> <ImageView android:id="@+id/myImageView" android:layout_width="200dp" android:layout_height="150dp" android:src="@drawable/ex04_22_1" android:contentDescription="@string/des" > </ImageView> <Button android:id="@+id/myButton1" android:layout_width="90dp" android:layout_height="60dp" android:text="@string/small" android:textSize="18sp" android:layout_x="200dp" android:layout_y="372dp" > </Button> <Button android:id="@+id/myButton2" android:layout_width="90dp" android:layout_height="60dp" android:text="@string/big" android:textSize="18sp" android:layout_x="90dp" android:layout_y="372dp" > </Button> </AbsoluteLayout>
3.创建一个ex04_22.java的文件
package wei.cao.test;import android.app.Activity;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.Matrix;import android.os.Bundle;import android.util.DisplayMetrics;import android.view.View;import android.view.View.OnClickListener;import android.widget.AbsoluteLayout;import android.widget.Button;import android.widget.ImageView;public class ex04_22 extends Activity{ private ImageView mImageView; private Button btn1,btn2; private AbsoluteLayout layout1; private Bitmap bmp; private int id=0; private int displayWidth,displayHeight; private float scaleWidth=1,scaleHeight=1;// private final static String filename="/data/data/ex04_22.lcs/ex04_22_2.png"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //取得屏幕分辨率 DisplayMetrics dm=new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); displayWidth=dm.widthPixels; displayHeight=dm.heightPixels-80; bmp=BitmapFactory.decodeResource(this.getResources(),R.drawable.ex04_22_1); layout1=(AbsoluteLayout)findViewById(R.id.layout1); mImageView=(ImageView)findViewById(R.id.myImageView); btn1=(Button)findViewById(R.id.myButton1); btn2=(Button)findViewById(R.id.myButton2); btn1.setOnClickListener(new OnClickListener(){ public void onClick(View v){ small(); } }); btn2.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubbig();} }); } private void small(){ //获得Bitmap的高和宽 int bmpWidth=bmp.getWidth(); int bmpHeight=bmp.getHeight(); //设置缩小比例 double scale=0.8; //计算出这次要缩小的比例 scaleWidth=(float)(scaleWidth*scale); scaleHeight=(float)(scaleHeight*scale); //产生resize后的Bitmap对象 Matrix matrix=new Matrix(); matrix.postScale(scaleWidth, scaleHeight); Bitmap resizeBmp=Bitmap.createBitmap(bmp, 0, 0, bmpWidth, bmpHeight, matrix, true); if(id==0){ layout1.removeView(mImageView); } else{ layout1.removeView((ImageView)findViewById(id)); } id++; ImageView imageView=new ImageView(this); imageView.setId(id); imageView.setImageBitmap(resizeBmp); layout1.addView(imageView); setContentView(layout1); btn2.setEnabled(true); } private void big(){ //获得Bitmap的高和宽 int bmpWidth=bmp.getWidth(); int bmpHeight=bmp.getHeight(); //设置缩小比例 double scale=1.25; //计算出这次要缩小的比例 scaleWidth=(float)(scaleWidth*scale); scaleHeight=(float)(scaleHeight*scale); //产生resize后的Bitmap对象 Matrix matrix=new Matrix(); matrix.postScale(scaleWidth, scaleHeight); Bitmap resizeBmp=Bitmap.createBitmap(bmp, 0, 0, bmpWidth, bmpHeight, matrix, true); if(id==0){ layout1.removeView(mImageView); } else{ layout1.removeView((ImageView)findViewById(id)); } id++; ImageView imageView=new ImageView(this); imageView.setId(id); imageView.setImageBitmap(resizeBmp); layout1.addView(imageView); setContentView(layout1); if(scaleWidth*scale*bmpWidth>displayWidth||scaleHeight*scale*scaleHeight>displayHeight){ btn2.setEnabled(false); } }}
4.运行结果
- 使用Matrix放大或缩小图片
- 使用Matrix放大或缩小图片
- android-Matrix放大缩小图片
- 图片的放大或缩小
- android图片缩小和放大Matrix
- Matrix图片操作放大缩小mark
- android Matrix图片手势放大缩小,拖动
- ios 根据手势放大或缩小图片
- android Bitmap图片被放大或缩小
- ios 根据手势放大或缩小图片
- ios 根据手势放大或缩小图片
- ios 根据手势放大或缩小图片
- 点击图片实现放大或缩小
- UIScrollView下拉实现图片放大或缩小
- android 图片浏览功能 图片放大缩小 使用 photoview 双击或双指缩放的ImageView
- Android学习篇章10-Matrix图片放大缩小
- android Matrix图片随意的放大缩小,拖动
- android Matrix图片随意的放大缩小,拖动
- jxl读写excel常见操作搜集整理
- ANSI UNICODE去除关键字
- Android SDK与Eclipse开发环境搭建最新版
- via 变量
- 正则表达式的 后向引用 问题;
- 使用Matrix放大或缩小图片
- intel实习生及易思捷正式员工
- 几个基本字符集整理介绍
- PL/SQL中使用嵌套表、变长数组(Varray)注意事项
- Oracle Database Instant Client即时客户端配置使用
- 类似 qq 切换效果
- 国外程序员推荐:每个程序员都应读的书
- VC将窗口置最前
- php单一入口权限检查