`

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

阅读更多
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");
分享到:
评论

相关推荐

    WPF调用本地摄像头拍照并保存为图片

    在本文中,我们将深入探讨如何在Windows Presentation Foundation (WPF) 应用程序中调用本地摄像头进行拍照,并将拍摄的照片保存为.jpg格式的图片。这个过程涉及到几个关键的技术点,包括访问硬件设备、捕获视频流...

    IOS 选择图片和拍照

    在iOS平台上,为用户提供选择图片和拍照的功能是...通过以上步骤,开发者可以在iOS应用中为用户提供完整的图片选择和拍照功能。记住,始终要尊重用户隐私,正确请求权限,并提供直观易用的界面,以提供优质的用户体验。

    图片选择器

    描述中的“相机”暗示了这个图片选择器可能集成了拍照功能,用户可以直接通过应用内的相机接口拍摄新照片,而不是仅仅局限于选择已有的图像。此外,“相册”意味着应用包含了一个图片库,可以显示设备上的所有照片,...

    android系统文件夹结构

    ### Android系统文件夹结构详解 Android作为全球最广泛使用的移动操作系统之一,其内部结构与文件组织方式对于开发者和系统优化者来说至关重要。本文将详细解析Android系统的文件夹结构,并重点介绍其中的关键组成...

    flash as3头像上传支持图片和拍照asp

    在本文中,我们将深入探讨如何使用Flash AS3实现头像上传功能,同时支持图片上传和拍照上传,并在后台使用ASP进行处理。AS3(ActionScript 3)是Adobe Flash平台的核心编程语言,常用于创建交互式内容,如网页游戏和...

    JFM_Photo.rar_jfm ja_拍照

    比较简单”,意味着这个程序利用了Java Media Framework(JMF)来构建一个简易的拍照应用。JMF是一个开源的API,它提供了播放、捕获、记录和控制媒体的能力。在这个特定的应用中,用户能够通过程序拍摄照片,并将...

    一个本地拍照后,剪切图片,然后上传到php服务器端同时,上传字符数据

    在Android应用开发中,用户可能需要执行一系列操作,如拍照、剪切图片并将其上传到服务器,同时提交关联的字符数据。这个过程涉及到Android的多媒体处理、网络通信以及服务器端的PHP编程。以下是对这些知识点的详细...

    在线拍照—flash本地上传+照片自由截图

    标签中的“在线拍照”意味着这个应用可能集成了摄像头功能,允许用户直接在网页上通过摄像头拍摄照片并上传,而不是仅限于选择本地已有的图片。 虽然压缩包的文件名称列表只显示了一个“新建文件夹 (3)”,但我们...

    中小学教师多媒体课件制作培训流程.doc

    【中小学教师多媒体课件制作培训流程】 多媒体课件在当今教育领域中扮演着重要的角色,为提高中小学教师的多媒体教学技能,本次培训流程旨在帮助教师掌握制作多媒体课件的基础知识和实用技巧。以下是培训第一天的...

    win7摄像头照相录像

    标题“win7摄像头照相录像”表明我们讨论的是在Windows 7操作系统中使用内置或外接摄像头进行拍照和录制视频的功能。Windows 7虽然相对较老,但仍然支持基本的多媒体功能,包括摄像头的使用。 首先,我们需要确保...

    android拍照保存技术

    同时,为了保持应用数据的一致性,也可以选择在应用私有的内部存储或外部存储目录下创建特定的文件夹。 6. **图片质量与大小优化** 由于Bitmap占用大量内存,需要合理管理。可以通过设置压缩质量减少图片大小,...

    WPF使用Aforge实现USB摄像头拍照

    在本文中,我们将深入探讨如何使用Windows Presentation Foundation (WPF) 结合AForge.NET库来实现USB摄像头拍照的功能。AForge.NET是一个开源框架,提供了大量的计算机视觉和图像处理功能,非常适合于开发与图像...

    2008年下半年 多媒体应用设计师 应用技术1

    在试题部分,第一页是关于文件分类的题目,要求考生将多媒体文件分类成声音文件、视频文件、图像文件三类,并分别建立文件夹存放。第二页是关于图像获取途径的题目,要求考生写出四种获取数字图像的途径。第三页是...

    flash拍照上传

    这个功能允许用户通过浏览器中的Flash插件直接在网页上进行实时拍照或从摄像头选取图片,然后上传到服务器。以下将详细介绍这个技术的实现原理、相关知识点以及涉及的文件。 1. **Flash技术**: Flash是Adobe公司...

    Android7.0拍照截图

    在TestC2这个子文件夹中,可能包含了关于Android 7.0拍照和截图的示例代码或测试用例。这些资源可能涵盖了如何启动相机、捕获图像、处理截图以及与相册集成等方面的内容。通过研究这些代码,开发者可以更好地理解和...

    常用信息化教学工具使用方法(200608).ppt

    - Flash动画通常存储在浏览器的临时文件夹中。 - 对于Windows 98/2000,临时文件夹路径分别为C:\windows\Temporary Internet Files 和 C:\Documents and Settings\Administrator(或All Users或具体用户名)\Local ...

    TakePicAndGalleryDemo

    这个项目可能包含使用`Intent.ACTION_PICK`启动系统图片选择器,然后使用`Intent.ACTION_EDIT`进行裁剪,如`CropImage`库的使用。 4. **Android 7.0以上文件管理**:从Android 7.0开始,引入了“文件夹选择器”和...

    Android系统文件夹结构说明.doc

    为了更好地理解和管理Android系统的内部文件结构,本文将详细介绍Android系统中关键文件夹及其作用,特别关注`/system/app`目录内的各个应用程序组件。 #### 二、`/system` 文件夹简介 `/system` 是Android系统的...

    安卓模拟手机实现拍照和播放音乐的功能

    总的来说,安卓平台提供了丰富的 API 和工具,使得开发能够拍照和播放音乐的应用变得相对简单。通过熟练掌握 `Camera` 和 `MediaPlayer` 类,以及理解 Android 的文件存储机制,开发者可以构建出功能完善的多媒体...

Global site tag (gtag.js) - Google Analytics