`

调用本机和拍照上传

 
阅读更多

调用本机和拍照上传,没有实现上传的服务器:

 

main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/hello" />

    <ImageView
        android:id="@+id/imageID"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:adjustViewBounds="true"
        android:maxHeight="50dip"
        android:maxWidth="50dip" />

    <Button
        android:id="@+id/btn_01"
        android:layout_width="150dip"
        android:layout_height="50dip"
        android:text="相册" />

    <Button
        android:id="@+id/btn_02"
        android:layout_width="150dip"
        android:layout_height="50dip"
        android:text="拍照" />

</LinearLayout>

 activity:

public class PhotoActivity extends Activity {
	public static final int NONE = 0;
	public static final int PHOTOHRAPH = 1;// 拍照
	public static final int PHOTOZOOM = 2; // 缩放
	public static final int PHOTORESOULT = 3;// 结果

	public static final String IMAGE_UNSPECIFIED = "image/*";
	ImageView imageView = null;
	Button button0 = null;
	Button button1 = null;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		imageView = (ImageView) findViewById(R.id.imageID);
		button0 = (Button) findViewById(R.id.btn_01);
		button1 = (Button) findViewById(R.id.btn_02);

		//相册
		button0.setOnClickListener(new OnClickListener() {

			public void onClick(View v) {
				Intent intent = new Intent(Intent.ACTION_GET_CONTENT, null);
				intent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
						IMAGE_UNSPECIFIED);
				startActivityForResult(intent, PHOTOZOOM);
			}
		});

		//拍照
		button1.setOnClickListener(new OnClickListener() {

			public void onClick(View v) {
				Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
				intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(
						Environment.getExternalStorageDirectory(), "temp.jpg")));
				System.out.println("=============" + Environment.getExternalStorageDirectory());
				startActivityForResult(intent, PHOTOHRAPH);
			}
		});
	}

	@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		if (resultCode == NONE)
			return;
		// 拍照
		if (requestCode == PHOTOHRAPH) {
			// 设置文件保存路径这里放在跟目录下
			File picture = new File(Environment.getExternalStorageDirectory()
					+ "/temp.jpg");
			System.out.println("------------------------" + picture.getPath());
			startPhotoZoom(Uri.fromFile(picture));
		}

		if (data == null)
			return;

		// 读取相册缩放图片
		if (requestCode == PHOTOZOOM) {
			startPhotoZoom(data.getData());
		}
		// 处理结果
		if (requestCode == PHOTORESOULT) {
			Bundle extras = data.getExtras();
			if (extras != null) {
				Bitmap photo = extras.getParcelable("data");
				ByteArrayOutputStream stream = new ByteArrayOutputStream();
				photo.compress(Bitmap.CompressFormat.JPEG, 75, stream);// (0 -
																		// 100)压缩文件
				imageView.setImageBitmap(photo);
			}

		}

		super.onActivityResult(requestCode, resultCode, data);
	}

	public void startPhotoZoom(Uri uri) {
		Intent intent = new Intent("com.android.camera.action.CROP");
		intent.setDataAndType(uri, IMAGE_UNSPECIFIED);
		intent.putExtra("crop", "true");
		// aspectX aspectY 是宽高的比例
		intent.putExtra("aspectX", 1);
		intent.putExtra("aspectY", 1);
		// outputX outputY 是裁剪图片宽高
		intent.putExtra("outputX", 64);
		intent.putExtra("outputY", 64);
		intent.putExtra("return-data", true);
		startActivityForResult(intent, PHOTORESOULT);
	}
}
 
分享到:
评论

相关推荐

    js调用本地摄像头拍照并上传到web服务器

    在现代Web应用中,利用JavaScript调用本地摄像头拍照并上传至服务器已经成为常见的功能,尤其在社交媒体、在线教育、远程办公等领域。本知识点将详细介绍如何实现这个功能,以及后台如何处理这些上传的图片。 首先...

    html5+jquery+canvas 实现调用手机拍照上传图片

    在这个实例中,“html5+jquery+canvas 实现调用手机拍照上传图片”利用了HTML5的File API、jQuery库以及Canvas元素,实现了用户通过手机摄像头拍照并即时上传图片的功能。 1. **HTML5 File API**:File API提供了...

    html5调用摄像头拍照ajax java上传

    在本项目中,我们将探讨如何利用HTML5中的`&lt;canvas&gt;`和`&lt;video&gt;`标签调用用户摄像头进行拍照,并通过AJAX(异步JavaScript和XML)技术配合Java后端实现图片的上传。 1. HTML5 `&lt;video&gt;`标签: `&lt;video&gt;`标签是...

    HTML5+jQuery+Canvas调用手机拍照功能上传图片

    这些技术的结合使得开发者能够在浏览器中实现更丰富的交互功能,比如本例中的拍照上传图片。 总结来说,HTML5+jQuery+Canvas的组合使得在网页上调用手机拍照功能并上传图片成为可能,同时还能进行图片的本地处理和...

    ASP调用摄像头拍照并保存

    `index.html`是网站的首页,其中包含了调用摄像头、上传和显示图片的相关代码。它可能通过JavaScript(可能结合`swfobject.js`)来初始化Flash组件,并触发拍照动作。 `文件上传注意事项.JPG`可能是一个指导文档,...

    微信公众号调用手机摄像头拍照和本地相册不错的例子

    微信公众号调用手机摄像头拍照和本地相册,上传服务器,不错的例子

    html5调用本地摄相头拍照上传相片

    在本项目中,"html5调用本地摄相头拍照上传相片"是一个利用HTML5的新特性来实现的功能,允许用户通过网页直接访问设备的摄像头拍摄照片并上传到服务器。 一、HTML5的媒体元素 HTML5中的`&lt;video&gt;`和`&lt;audio&gt;`元素...

    安卓调用手机摄像机拍照 存储上传+PHP端存储返回

    以上就是基于Android Studio的项目中,如何调用摄像机拍照、存储图片、上传到PHP服务器并接收返回结果的基本步骤和涉及的关键技术。实际开发时,还需要考虑用户体验、性能优化以及安全性等问题。

    H5实现手机拍照和选择上传功能

    在H5中实现手机拍照和选择上传功能是移动端网页应用中常见的需求,它极大地提升了用户体验。下面我们将详细探讨如何利用HTML5的相关API和技术来完成这一功能。 首先,我们需要理解HTML5中的`&lt;input type="file"&gt;`...

    ASP.Net调用摄像头拍照

    ASP.NET调用摄像头拍照是一个常见的前端应用场景,尤其在开发在线教育、远程办公或者互动娱乐类网站时非常有用。本文将详细介绍如何使用JavaScript与ASP.NET结合,实现调用用户计算机的摄像头进行拍照的功能。 首先...

    在html5网页中实现用手机相机拍照功能,并上传照片给后台.zip

    在HTML5中,实现手机相机拍照并上传照片给后台的功能主要涉及到两个关键API:`&lt;input type="file"&gt;`的`capture`属性和File API。下面将详细介绍这两个知识点及其相关应用。 1. `&lt;input type="file"&gt;`与`capture`...

    asp.net(c#)实现在线拍照上传

    ASP.NET(C#)在线拍照上传是一个常见的功能需求,尤其在在线教育、远程认证和考试系统等场景中。本文将详细解析如何利用ASP.NET和C#实现这一功能,结合Flash和摄像头技术,创建一个实时拍照并上传的系统。 首先,...

    JSP调用摄像头拍照上传服务器.zip

    JSP调用手机摄像头拍照上传至阿里云服务器,亲测可用。

    flash调用摄像头拍照和上传的学习地址

    在探讨“Flash调用摄像头拍照和上传”的技术细节前,我们先来了解一下这一技术的背景与应用场景。Flash作为一款广泛应用于网页开发中的多媒体创作平台,它不仅能够制作动画、图形等视觉元素,还具备强大的交互功能,...

    java微信公众号调用手机摄像头拍照和本地相册

    java微信公众号调用手机摄像头拍照和本地相册,上传服务器,java微信公众号内部调用本地摄像头,web项目

    H5 调用android 相机拍照

    本知识点将详细阐述如何在H5中调用Android本地相机进行拍照,并确保在Android 5.0、6.0等不同版本系统上的兼容性。 首先,我们需要理解H5与Android原生代码的交互机制。在Android应用中,通常会使用WebView组件来...

    js+flash调用本地/usb摄像头拍照上传

    在这个主题中,我们探讨的是如何利用这两种技术来调用用户的本地或USB摄像头进行拍照并上传。以下是关于这个话题的详细知识: 首先,JavaScript是Web开发中的重要语言,它主要负责处理客户端的动态效果和用户交互。...

    android调用系统自带照相机拍照

    在Android开发中,调用系统...总的来说,Android调用系统自带相机拍照涉及权限管理、Intent启动相机应用、处理返回结果以及可能的自定义存储路径。理解这些知识点对于开发Android应用中涉及拍照功能的部分至关重要。

    相机调用和拍照功能

    在iOS和Android应用开发中,相机调用和拍照功能是不可或缺的部分,特别是在涉及到用户交互、内容分享和多媒体处理的应用中。下面将详细讲解如何在移动平台上实现这些功能。 首先,我们要了解相机调用的基本概念。在...

Global site tag (gtag.js) - Google Analytics