Bitmap的使用(三)
来源:互联网 发布:只有我知上海见面会 编辑:程序博客网 时间:2024/05/22 12:04
打开相册:
Intent intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent, 0);
返回的Intent data是一个图片的uri
用BitmapFactory.decodeStream(getContentResolver().openInputStream(uri), null, param)
package com.example.androidtest;import android.os.Bundle;import android.app.Activity;import android.content.Intent;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.Canvas;import android.graphics.Paint;import android.net.Uri;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.ImageView;import android.util.Log;import java.io.FileNotFoundException;public class MainActivity extends Activity implements OnClickListener {ImageView chosenImageView;Button choosePicture;public void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);chosenImageView = (ImageView)findViewById(R.id.ChosenImageView);choosePicture = (Button)findViewById(R.id.ChoosePictureButton);choosePicture.setOnClickListener(this);}public void onClick(View v){Intent choosePictureIntent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);startActivityForResult(choosePictureIntent, 0);}protected void onActivityResult(int requestCode, int resultCode, Intent data){super.onActivityResult(requestCode, resultCode, data);if (resultCode == RESULT_OK) {Uri imageFileUri = data.getData();try {BitmapFactory.Options bmpFactoryOptions = new BitmapFactory.Options();bmpFactoryOptions.inJustDecodeBounds = true;Bitmap bmp = BitmapFactory.decodeStream(getContentResolver().openInputStream(imageFileUri), null, bmpFactoryOptions);bmpFactoryOptions.inSampleSize = 2;bmpFactoryOptions.inJustDecodeBounds = false;bmp = BitmapFactory.decodeStream(getContentResolver().openInputStream(imageFileUri), null, bmpFactoryOptions);Bitmap alteredBitmap = Bitmap.createBitmap(bmp.getWidth(), bmp.getHeight(), bmp.getConfig());Canvas canvas = new Canvas(alteredBitmap);Paint paint = new Paint();canvas.drawBitmap(bmp, 0, 0, paint);ImageView alteredImageView = (ImageView)findViewById(R.id.AlteredImageView);alteredImageView.setImageBitmap(alteredBitmap);chosenImageView.setImageBitmap(bmp);} catch (FileNotFoundException e) {Log.v("ERROR", e.toString());}}}}
activity_mail.xml:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" ><Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Choose Picture" android:id="@+id/ChoosePictureButton"/><ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/ChosenImageView"></ImageView><ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/AlteredImageView"></ImageView></LinearLayout>
0 0
- Bitmap的使用(三)
- Drawable、Bitmap、Canvas、Paint和 Matrix 的使用(三)
- bitmap的使用
- Bitmap的使用
- Android Bitmap的使用
- Bitmap的使用(一)
- Bitmap的使用(二)
- Bitmap的使用
- Android Bitmap的使用
- 对Bitmap的使用
- 关于bitmap的使用
- Bitmap的基本使用
- Bitmap的使用
- [Egret学习笔记 三]Bitmap Font(位图文字)的使用
- android获得Bitmap的三种方法
- 获得Bitmap的三种方法
- Android获得Bitmap的三种方法
- 关于Bitmap的使用小结
- mapxtreme 2008 发布 打包 安装包 问题
- Halcon 识别彩色小球并统计数量
- Linux设备驱动框架
- 我开通博客了~
- Spring IOC 容器研究日记(一)
- Bitmap的使用(三)
- MFC EditBox 编辑框禁止输入中文
- 活祭生父各个环节
- [Android]-图片JNI(C++\Java)高斯模糊的实现与比较
- 如何防止表被清空
- Oracle的表结构:纵向和横向
- SPOJ - 1112. Number Steps 题解
- 人事和程序员分别是怎样读简历的
- DXF文件结构