首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

简略拍照,多媒体图片文件夹中选择图片

2012-09-04 
简单拍照,多媒体图片文件夹中选择图片1.button.setOnClickListener(new OnClickListener(){@Overridepubli

简单拍照,多媒体图片文件夹中选择图片
1.button.setOnClickListener(new OnClickListener(){      

           @Override

           public void onClick(View arg0) {        

              Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");      startActivityForResult(intent,SELECT_PICTURE_FROM_CAMERA);

           }

        });

//然后重载startActivityForResult添加自己的实现

@Override

    protected void onActivityResult(int requestCode, int resultCode, Intent data) {

    if( resultCode==RESULT_OK)

    {

        if(requestCode==SELECT_PICTURE_FROM_CAMERA)

        {

            File image=new File(Environment.getExternalStorageDirectory(), "camera.jpg");

            selectedImagePath=image.getAbsolutePath();

            Drawable d=Drawable.createFromPath(selectedImagePath);

            ImageView.setImageDrawable(d);

        }

    }

}



2 从android本地多媒体图片文件夹中选择图片
Intent i=new Intent(Intent.ACTION_GET_CONTENT);

              i.setType("image/*");

              Intent wrapi=Intent.createChooser(i, "choose");

              startActivityForResult(wrapi, SELECT_PICTURE_FROM_FILE);

//然后重载startActivityForResult添加自己的实现

@Override

    protected void onActivityResult(int requestCode, int resultCode, Intent data) {

    if( resultCode==RESULT_OK)

    {

        if(requestCode==SELECT_PICTURE_FROM_FILE )

        {

        Uri selectedImageUri = data.getData();

        selectedImagePath=getPath(selectedImageUri);

        imageView.setImageURI(selectedImageUri);

        }

    }

}   //获取当前选择的图片,并显示在imageView上

    private String getPath(Uri uri)

    {

    String[] projection={MediaStore.Images.Media.DATA};

    Cursor cursor=managedQuery(uri,projection,null,null,null);

    int column_index=cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);

    cursor.moveToFirst();

    return cursor.getString(column_index);

}  

//Query实现从图片数据库中查询到所要记录



3 Activity之间带内容的跳转
Intent intent = new Intent();

                  Bundle imageMsg = new Bundle();

                  imageMsg.putString("filePath", selectedImagePath); /               intent.putExtras(imageMsg);

                  intent.setClass(ActivityA.this,ActivityB.class);

                  startActivity(intent);

                  ActivityA.this.finish();



4 位图缩放
public Bitmap zoomImage(Bitmap bgimage, int newWidth, int newHeight) {  

       int width = bgimage.getWidth();

       int height = bgimage.getHeight();



       Matrix matrix = new Matrix();



       float scaleWidth = ((float) newWidth) / width;

       float scaleHeight = ((float) newHeight) / height;



       matrix.postScale(scaleWidth, scaleHeight);

       Bitmap bitmap = Bitmap.createBitmap(bgimage, 0, 0, width, height,

       matrix, true);

       return bitmap;



       }



5 Gallery的使用
Gallery gallery=(Gallery)findViewById(R.id.gallery);

        myImageAdapter imageadapter=new myImageAdapter(this); //传入context

        gallery.setAdapter(imageadapter);

        gallery.setOnItemClickListener(new Gallery.OnItemClickListener(){

           @Override

           public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {

              Bitmap selectedBitmap=BitmapFactory.decodeResource(getResources(),imageadapter.myImageIds[arg2]);

           }

        });

        gallery.setSelection(1);



//adapter的类定义

public class myImageAdapter extends BaseAdapter{



    int mGalleryItemBackground;

    private Context context;

    public Integer[] myImageIds={

           //图片的资源id号

    };

    public myImageAdapter(Context context)

    {

       this.context=context;

       TypedArray typed_array=context.obtainStyledAttributes(R.styleable.Gallery);

     

    mGalleryItemBackground=typed_array.getResourceId(R.styleable.Gallery_android_galleryItemBackground   , 0);

       //mGalleryItemBackground++;

       typed_array.recycle();

    }

    @Override

    public int getCount() {

       // TODO Auto-generated method stub

       return myImageIds.length;

    }



    @Override

    public Object getItem(int arg0) {

       // TODO Auto-generated method stub

       return arg0;

    }



    @Override

    public long getItemId(int arg0) {

       // TODO Auto-generated method stub

       return arg0;

    }



    @Override

    public View getView(int arg0, View arg1, ViewGroup arg2) {

       // TODO Auto-generated method stub

       ImageView imageView=new ImageView(context);

       imageView.setImageResource(myImageIds[arg0]);

     

       imageView.setScaleType(ImageView.ScaleType.FIT_XY);

       imageView.setLayoutParams(new Gallery.LayoutParams(128,128));

       imageView.setBackgroundResource(mGalleryItemBackground);

       return imageView;

    }



}



6 activity中使用线程
private Handler mHandler=new Handler();

private Runnable mRunnable=new Runnable()

    {

       @Override

       public void run() {

           // TODO Auto-generated method stub

       }

};

mHandler.post(mRunnable);              //启动线程


7 保存到android多媒体图片文件夹
android.provider.MediaStore.Images.Media.insertImage(getContentResolver(),resultBitmap, "picName", "descrition");

热点排行