package com.example.ws;import java.io.FileNotFoundException;import android.app.Activity;import android.content.ContentResolver;import android.content.Intent;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.Matrix;import android.graphics.drawable.BitmapDrawable;import android.graphics.drawable.Drawable;import android.net.Uri;import android.os.Bundle;import android.text.Spannable;import android.text.SpannableString;import android.text.style.ImageSpan;import android.util.DisplayMetrics;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;public class Main extends Activity {private EditText edit;private Button btn;Bitmap bmp;private int displayWidth,displayHeight;   private float scaleWidth=1,scaleHeight=1;  @Overrideprotected 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;                 System.out.println("displayWidth"+displayWidth);        System.out.println("displayHeight"+displayHeight);        edit = (EditText) this.findViewById(R.id.edit);btn = (Button) this.findViewById(R.id.btn);btn.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {Intent picture = new Intent(Intent.ACTION_GET_CONTENT);picture.setType("image/*");picture.addCategory(Intent.CATEGORY_OPENABLE);startActivityForResult(Intent.createChooser(picture, "选择图片"), 0);}});}public void srcrem(Bitmap bmps) {System.out.println("bWidth"+bmps.getWidth());System.out.println("bHeight"+bmps.getHeight());Drawable drawable = new BitmapDrawable(bmps);drawable.setBounds(0, 0, drawable.getIntrinsicWidth(),drawable.getIntrinsicHeight());String str = "0";SpannableString spannable = new SpannableString(str);ImageSpan span = new ImageSpan(drawable, ImageSpan.ALIGN_BASELINE);spannable.setSpan(span, 0, 0, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);edit.setText(spannable);//bmp.recycle();scaleWidth = 1;scaleHeight =1;}@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);/*if (resultCode == RESULT_OK) {Uri uri = data.getData();String[] proj = { MediaStore.Images.Media.DATA };Cursor cursor = managedQuery(uri, proj, // Which columns to returnnull, // WHERE clause; which rows to return (all rows)null, // WHERE clause selection arguments (none)null); // Order-by clause (ascending by name)int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);cursor.moveToFirst();String path = cursor.getString(column_index);bmp = BitmapFactory.decodeFile(path);System.out.println("the path is :" + path);//srcrem(bmp);smallMap(bmp);} else {Toast.makeText(Main.this, "请重新选择图片", Toast.LENGTH_SHORT).show();}*/ if(resultCode == RESULT_OK){          //选择图片          Uri uri = data.getData();           ContentResolver cr = this.getContentResolver();           try {              if(bmp != null)//如果不释放的话,不断取图片,将会内存不够                  bmp.recycle();              bmp = BitmapFactory.decodeStream(cr.openInputStream(uri));          } catch (FileNotFoundException e) {              // TODO Auto-generated catch block              e.printStackTrace();          }         //smallMap(bmp);        //srcrem(bmp);;        zoomBitmap(bmp,200,200);    }else{          Toast.makeText(Main.this, "请重新选择图片", Toast.LENGTH_SHORT).show();      }  }public void smallMap(Bitmap bmp){int bWidth = bmp.getWidth();int bHeight = bmp.getHeight();System.out.println("yuanWidth"+bWidth);System.out.println("yuanHeight"+bHeight);double scale = 0.1;scaleWidth  =(float)(scaleWidth * scale);scaleHeight = (float)(scaleHeight* scale);System.out.println("scaleWidth"+scaleWidth);System.out.println("scaleHeight"+scaleHeight);Matrix matrix = new Matrix();matrix.postScale(scaleHeight, scaleWidth);Bitmap createMap = Bitmap.createBitmap(bmp, 0, 0, bWidth, bHeight, matrix, true);srcrem(createMap);}public void zoomBitmap(Bitmap bitmap,int w,int h){           int width = bitmap.getWidth();           int height = bitmap.getHeight();           Matrix matrix = new Matrix();           float scaleWidht = ((float)w / width);           float scaleHeight = ((float)h / height);           matrix.postScale(scaleWidht, scaleHeight);           Bitmap newbmp = Bitmap.createBitmap(bitmap, 0, 0, width, height, matrix, true);                           srcrem(newbmp);    }}

更多相关文章

  1. DialogUtils Material风格对话框工具类
  2. Android实现异步加载图片(转)
  3. Android异步加载图片详解之方式一(4)
  4. 安卓 图片处理
  5. 横、竖分割线
  6. Glide 圆角图片
  7. Android(安卓)实现图片倒影效果
  8. Android(安卓)GridView显示图片
  9. android获得网络图片

随机推荐

  1. 在SQL Server的try...catch语句中获取错
  2. 解析:清除SQL被注入恶意病毒代码的语句
  3. 解析SQLServer任意列之间的聚合
  4. 浅析SQLServer中的Scanf与Printf
  5. 浅析被遗忘的SQLServer比较运算符修饰词
  6. 解析SQLServer获取Excel中所有Sheet的方
  7. 解析SQLServer2005的Top功能
  8. 解析关于SQL语句Count的一点细节
  9. 解析sql中得到刚刚插入的数据的id
  10. 使用SQL Server 获取插入记录后的ID(自动