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");
分享到:
相关推荐
在本文中,我们将深入探讨如何在Windows Presentation Foundation (WPF) 应用程序中调用本地摄像头进行拍照,并将拍摄的照片保存为.jpg格式的图片。这个过程涉及到几个关键的技术点,包括访问硬件设备、捕获视频流...
在iOS平台上,为用户提供选择图片和拍照的功能是...通过以上步骤,开发者可以在iOS应用中为用户提供完整的图片选择和拍照功能。记住,始终要尊重用户隐私,正确请求权限,并提供直观易用的界面,以提供优质的用户体验。
描述中的“相机”暗示了这个图片选择器可能集成了拍照功能,用户可以直接通过应用内的相机接口拍摄新照片,而不是仅仅局限于选择已有的图像。此外,“相册”意味着应用包含了一个图片库,可以显示设备上的所有照片,...
### Android系统文件夹结构详解 Android作为全球最广泛使用的移动操作系统之一,其内部结构与文件组织方式对于开发者和系统优化者来说至关重要。本文将详细解析Android系统的文件夹结构,并重点介绍其中的关键组成...
在本文中,我们将深入探讨如何使用Flash AS3实现头像上传功能,同时支持图片上传和拍照上传,并在后台使用ASP进行处理。AS3(ActionScript 3)是Adobe Flash平台的核心编程语言,常用于创建交互式内容,如网页游戏和...
比较简单”,意味着这个程序利用了Java Media Framework(JMF)来构建一个简易的拍照应用。JMF是一个开源的API,它提供了播放、捕获、记录和控制媒体的能力。在这个特定的应用中,用户能够通过程序拍摄照片,并将...
在Android应用开发中,用户可能需要执行一系列操作,如拍照、剪切图片并将其上传到服务器,同时提交关联的字符数据。这个过程涉及到Android的多媒体处理、网络通信以及服务器端的PHP编程。以下是对这些知识点的详细...
标签中的“在线拍照”意味着这个应用可能集成了摄像头功能,允许用户直接在网页上通过摄像头拍摄照片并上传,而不是仅限于选择本地已有的图片。 虽然压缩包的文件名称列表只显示了一个“新建文件夹 (3)”,但我们...
【中小学教师多媒体课件制作培训流程】 多媒体课件在当今教育领域中扮演着重要的角色,为提高中小学教师的多媒体教学技能,本次培训流程旨在帮助教师掌握制作多媒体课件的基础知识和实用技巧。以下是培训第一天的...
标题“win7摄像头照相录像”表明我们讨论的是在Windows 7操作系统中使用内置或外接摄像头进行拍照和录制视频的功能。Windows 7虽然相对较老,但仍然支持基本的多媒体功能,包括摄像头的使用。 首先,我们需要确保...
同时,为了保持应用数据的一致性,也可以选择在应用私有的内部存储或外部存储目录下创建特定的文件夹。 6. **图片质量与大小优化** 由于Bitmap占用大量内存,需要合理管理。可以通过设置压缩质量减少图片大小,...
在本文中,我们将深入探讨如何使用Windows Presentation Foundation (WPF) 结合AForge.NET库来实现USB摄像头拍照的功能。AForge.NET是一个开源框架,提供了大量的计算机视觉和图像处理功能,非常适合于开发与图像...
在试题部分,第一页是关于文件分类的题目,要求考生将多媒体文件分类成声音文件、视频文件、图像文件三类,并分别建立文件夹存放。第二页是关于图像获取途径的题目,要求考生写出四种获取数字图像的途径。第三页是...
这个功能允许用户通过浏览器中的Flash插件直接在网页上进行实时拍照或从摄像头选取图片,然后上传到服务器。以下将详细介绍这个技术的实现原理、相关知识点以及涉及的文件。 1. **Flash技术**: Flash是Adobe公司...
在TestC2这个子文件夹中,可能包含了关于Android 7.0拍照和截图的示例代码或测试用例。这些资源可能涵盖了如何启动相机、捕获图像、处理截图以及与相册集成等方面的内容。通过研究这些代码,开发者可以更好地理解和...
- Flash动画通常存储在浏览器的临时文件夹中。 - 对于Windows 98/2000,临时文件夹路径分别为C:\windows\Temporary Internet Files 和 C:\Documents and Settings\Administrator(或All Users或具体用户名)\Local ...
这个项目可能包含使用`Intent.ACTION_PICK`启动系统图片选择器,然后使用`Intent.ACTION_EDIT`进行裁剪,如`CropImage`库的使用。 4. **Android 7.0以上文件管理**:从Android 7.0开始,引入了“文件夹选择器”和...
为了更好地理解和管理Android系统的内部文件结构,本文将详细介绍Android系统中关键文件夹及其作用,特别关注`/system/app`目录内的各个应用程序组件。 #### 二、`/system` 文件夹简介 `/system` 是Android系统的...
总的来说,安卓平台提供了丰富的 API 和工具,使得开发能够拍照和播放音乐的应用变得相对简单。通过熟练掌握 `Camera` 和 `MediaPlayer` 类,以及理解 Android 的文件存储机制,开发者可以构建出功能完善的多媒体...