1 import java.io.File;
2 import android.app.Activity;
3 import android.content.Intent;
4 import android.graphics.drawable.Drawable;
5 import android.net.Uri;
6 import android.os.Bundle;
7 import android.view.View;
8 import android.view.View.OnClickListener;
9 import android.widget.Button;
10
11 public class GalleryActivity extends Activity {
12
13 private static int SELECT_PICTURE;//返回标志位 filed
14
15 private File tempFile;
16
17 Button button;
18
19 /** Called when the activity is first created. */
20 @Override
21 public void onCreate(Bundle savedInstanceState) {
22 super.onCreate(savedInstanceState);
23 this.tempFile = new File("/sdcard/a.jpg");// 这句一定要在onCreate()里面调用
24 button = new Button(this);
25 button.setText("获取图片");
26 button.setOnClickListener(new OnClickListener() {
27 @Override
28 public void onClick(View v) {
29 Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
30 intent.setType("image/*");
31 intent.putExtra("crop", "true");// crop=true 有这句才能出来最后的裁剪页面.
32
33 intent.putExtra("aspectX", 1);// 这两项为裁剪框的比例.
34 intent.putExtra("aspectY", 2);// x:y=1:2
35
36 intent.putExtra("output", Uri.fromFile(tempFile));
37 intent.putExtra("outputFormat", "JPEG");//返回格式
38
39 startActivityForResult(Intent.createChooser(intent, "选择图片"), SELECT_PICTURE);
40 }
41 });
42 setContentView(button);
43 }
44
45 /**
46 * 裁剪完图片后系统调用的方法:onActivityResult
47 */
48 @Override
49 protected void onActivityResult(int requestCode, int resultCode, Intent data) {
50 if (resultCode == RESULT_OK)
51 if (requestCode == SELECT_PICTURE)
52 button.setBackgroundDrawable(Drawable.createFromPath(tempFile.getAbsolutePath()));
53 }
54 }
- protected void onActivityResult(int requestCode, int resultCode, Intent data) {
-
if(resultCode == RESULT_OK) {
-
switch(requestCode) {
-
case REQ_CODE_CAMERA:
- uploadImage(photoTemp);
-
break;
-
case REQ_CODE_PICTURES:
- Uri uri = data.getData();
-
ContentResolver cr = this.getContentResolver();
-
-
Cursor c = cr.query(uri, null, null, null, null);
- c.moveToFirst();
-
photoTemp = c.getString(c.getColumnIndex("_data"));
- uploadImage(photoTemp);
-
break;
-
default:
-
break;
- };
- }
-
super.onActivityResult(requestCode, resultCode, data);
- }
分享到:
相关推荐
导入工程时别忘记配置服务器的地址: http://localhost:8080/UploadServlet/UploadServlet/... 服务器端配置tomcat服务器 经过测试可以用。 资源的博客地址:http://blog.csdn.net/b275518834/article/details/8196734
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的...Android拍照及图片裁剪、调用系统相册(源码+项目说明)(兼容6.0权限处理及7.0以上文件管理).zip
1、该资源内项目代码经过严格调试,下载即用确保可以运行! 2、该资源适合计算机相关专业(如计科、人工智能、...Android拍照及图片裁剪、调用系统相册(开发源码+项目说明)(兼容6.0权限处理及7.0以上文件管理).zip
Android 项目是使用 Android 操作系统和相关开发工具开发的一款移动应用程序。Android 平台提供了丰富的功能和接口,开发人员可以使用 Java 或 Kotlin 等编程语言编写 Android 应用程序。Android 项目也可以是针对...
包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。 包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python...
Picasso – Android系统的图片下载和缓存类库 Picasso 是Square开源的一个用于Android系统下载和缓存图片的项目。该项目和其他一些下载图片项目的主要区别之一是:使用4.0+系统上的HTTP缓存来代替磁盘缓存。 ...
6.15 ImageView实现适屏和裁剪图片 6.16 ImageView实现图片旋转和缩放 6.17 ImageView从网络上获取图像 6.18 DatePicker输入日期控件的使用 6.19 时间对话框的使用 6.20 ProgressBar进度条的使用 6.21 RatingBar评分...
(1)通过获取本地相册的图片,经过裁剪后作为头像。 (2)通过启动手机相机,现拍图片然后裁剪作为...(2)调用Android系统中自带的图片剪裁,实现图片的剪裁并在onActivityResult方法中获取数据。 本次演示效果如下
支持异步和同步(可结合RxJava使用)调用 3、image:有了http(s)及其下载缓存的支持,image模块的实现相当的简洁。 支持内存缓存,磁盘缓存(缩略图和原图),并且支持回收被view持有,但被MemCache移除的图片,减少页面...