代码没几行 注释写的很详细了

MainActivity

package com.example.fuck;import java.io.File;import android.app.Activity;import android.content.Intent;import android.graphics.Bitmap;import android.net.Uri;import android.os.Bundle;import android.provider.MediaStore;import android.util.Log;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.ImageView;//测试手机MX4public class MainActivity extends Activity implements OnClickListener {    public static final int PICK_REQUEST_CODE = 0X1;    public static final int GET_REQUEST_CODE = 0X2;    public static final int CROP_REQUEST_CODE = 0X3;    public static final int PICTURE_REQUEST_CODE = 0x4;    private Button button1, button2, button3;    private ImageView image;    private EditText editText;    private Uri mImageUri = Uri.fromFile(new File("/sdcard/fuck.jpg"));    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        button1 = (Button) findViewById(R.id.button1);        button2 = (Button) findViewById(R.id.button2);        button3 = (Button) findViewById(R.id.button3);        image = (ImageView) findViewById(R.id.image);        editText = (EditText) findViewById(R.id.edittext);        button1.setOnClickListener(this);        button2.setOnClickListener(this);        button3.setOnClickListener(this);    }    @Override    public void onClick(View v) {        switch (v.getId()) {        case R.id.button1:            startActionPick();            break;        case R.id.button2:            startActionGetContent();            break;        case R.id.button3:            takePicture();            break;        default:            break;        }    }    @Override    protected void onActivityResult(int requestCode, int resultCode, Intent data) {        Uri uri = mImageUri;        if (data == null) {            Log.e("fuck", 111 + "-->data:null");        } else {            uri = data.getData();            Object object = data.getParcelableExtra("data");            if (uri == null) {                Log.e("fuck", requestCode + "-->uri:null");            } else {                Log.e("fuck", requestCode + "-->data:" + uri.getPath());            }            if (object == null) {                Log.e("fuck", requestCode + "-->object:null");            } else {                Log.e("fuck", requestCode + "-->data:" + object);            }        }        int width = Integer.parseInt(editText.getText().toString());        switch (requestCode) {        case PICK_REQUEST_CODE:            cropImageUri(uri, width, width, CROP_REQUEST_CODE);            break;        case GET_REQUEST_CODE:            cropImageUri(uri, width, width, CROP_REQUEST_CODE);            break;        case PICTURE_REQUEST_CODE:            cropImageUri(uri, width, width, CROP_REQUEST_CODE);            break;        case CROP_REQUEST_CODE:            image.setImageBitmap((Bitmap) data.getParcelableExtra("data"));            break;        default:            break;        }    }    private void startActionPick() {        Intent intent = new Intent(Intent.ACTION_PICK);        intent.setType("image/*");        intent.putExtra("return-data", true);// 无论是否设置都不会返回bitmap对象        startActivityForResult(intent, PICK_REQUEST_CODE);    }    private void startActionGetContent() {        Intent intent = new Intent(Intent.ACTION_GET_CONTENT,                MediaStore.Images.Media.EXTERNAL_CONTENT_URI);        intent.setType("image/*");        intent.putExtra("return-data", true);// 无论是否设置都不会返回bitmap对象        startActivityForResult(intent, GET_REQUEST_CODE);    }    private void takePicture() {        Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);        intent.putExtra(MediaStore.EXTRA_OUTPUT, mImageUri);// 拍照后保存的路径        startActivityForResult(intent, PICTURE_REQUEST_CODE);    }    private void cropImageUri(Uri uri, int outputX, int outputY, int requestCode) {        Intent intent = new Intent("com.android.camera.action.CROP");        intent.setDataAndType(uri, "image/*");// 裁剪图像        intent.putExtra("crop", "true"); // 没发现什么不同        intent.putExtra("aspectX", 1);// 裁剪框的X比例        intent.putExtra("aspectY", 1);// 裁剪框的Y比例        intent.putExtra("outputX", outputX);// 输出图像的像素宽        intent.putExtra("outputY", outputY);// 输出图像的像素高        // 是否保持比例,当你裁剪的大小和outputx和outputy不一致是是否缩放比例        // 如果不缩放比例,如果输出像素过小则只会显示一部分。过大同理        intent.putExtra("scale", true);        intent.putExtra(MediaStore.EXTRA_OUTPUT, mImageUri);// 输出裁剪后的图像        intent.putExtra("return-data", true);// 是否返回bitmap图像,(uri是我们穿进去的所以不需要返回)        intent.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString());        intent.putExtra("noFaceDetection", true); // no face detection        startActivityForResult(intent, requestCode);    }}
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical" >    <LinearLayout        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:orientation="horizontal" >        <TextView android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="裁剪后的图片宽高:"/>        <EditText            android:id="@+id/edittext"            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:inputType="number"             android:text="300"/>    LinearLayout>    <Button        android:id="@+id/button1"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:gravity="center"        android:text="ACTION_PICK" />    <Button        android:id="@+id/button2"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:gravity="center"        android:text="ACTION_GET_CONTENT" />    <Button        android:id="@+id/button3"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:gravity="center"        android:text="TAKE_PICTURE" />    <ImageView        android:id="@+id/image"        android:layout_width="wrap_content"        android:layout_height="wrap_content" />LinearLayout>

爬虫抓我:http://blog.csdn.net/zheng5229875/article/details/48354479

更多相关文章

  1. Android设置背景图像重复【整理自网络】
  2. Android Studio3.3.2 +OpenCV3.4.3图像处理
  3. Android图像处理相关文章
  4. Android的Matrix图像变化原理
  5. 教你如何修改Android默认字体大小和设置字体大小比例
  6. Android android:scaleType属性 图片按比例缩放

随机推荐

  1. 为什么继承 Python 内置类型会出问题?!
  2. SQL今日一题(2)
  3. SQL今日一题(8)
  4. 脑洞:如何用一个整数来表示一个列表?
  5. SQL今日一题(3)
  6. SQL今日一题(9):空值检查
  7. 深入浅出数据分析
  8. Java Web: 发送请求,CSS文件 和 JS文件引
  9. 简单地聊聊统计学
  10. Excel如何分组排序