zoukankan      html  css  js  c++  java
  • android 调用系统截图

    在android联系人界面,点击添加头像后可以选择一个图像的部分区域来作为头像。 
    查看了一下代码,模仿着写了一段从文件中选择部分区域: 
    Java代码 复制代码 收藏代码
    1. Intent intent = new Intent("com.android.camera.action.CROP");   
    2. intent.setClassName("com.android.camera""com.android.camera.CropImage");   
    3. File file = new File(filePath);   
    4. Uri uri = Uri.fromFile(file);   
    5. intent.setData(uri);   
    6. intent.putExtra("crop""true");   
    7. intent.putExtra("aspectX"1);   
    8. intent.putExtra("aspectY"1);   
    9. intent.putExtra("outputX"96);   
    10. intent.putExtra("outputY"96);   
    11. intent.putExtra("noFaceDetection"true);   
    12. intent.putExtra("return-data"true);                                   
    13. startActivityForResult(intent, REQUEST_CROP_ICON);  
    1. Intent intent = new Intent("com.android.camera.action.CROP");  
    2. intent.setClassName("com.android.camera""com.android.camera.CropImage");  
    3. File file = new File(filePath);  
    4. Uri uri = Uri.fromFile(file);  
    5. intent.setData(uri);  
    6. intent.putExtra("crop""true");  
    7. intent.putExtra("aspectX"1);  
    8. intent.putExtra("aspectY"1);  
    9. intent.putExtra("outputX"96);  
    10. intent.putExtra("outputY"96);  
    11. intent.putExtra("noFaceDetection"true);  
    12. intent.putExtra("return-data"true);                                  
    13. startActivityForResult(intent, REQUEST_CROP_ICON);  

    在1.6系统上出现了选择图像界面,但是在2.1系统上程序崩溃,查看输出发现是没有权限。 
    试了Camera权限无效,上网搜索,原来2.1系统对这个调用进行了修改,uri不让传file:///了,只能传图库中的图片,比如此类uri:content://media/external/images/media/3,只好加了一步从图库中选取图像的步骤,在响应图库选择文件的处理函数中调用图片选取Activity,代码如下: 
    Java代码 复制代码 收藏代码
    1. Intent intent = new Intent("com.android.camera.action.CROP");   
    2. intent.setData(data.getData());     //data是图库选取文件传回的参数   
    3. intent.putExtra("crop""true");   
    4. intent.putExtra("aspectX"1);   
    5. intent.putExtra("aspectY"1);   
    6. intent.putExtra("outputX"96);   
    7. intent.putExtra("outputY"96);   
    8. intent.putExtra("noFaceDetection"true);   
    9. intent.putExtra("return-data"true);                                   
    10. startActivityForResult(intent, REQUEST_CROP_ICON);  
    1. Intent intent = new Intent("com.android.camera.action.CROP");  
    2. intent.setData(data.getData());     //data是图库选取文件传回的参数  
    3. intent.putExtra("crop""true");  
    4. intent.putExtra("aspectX"1);  
    5. intent.putExtra("aspectY"1);  
    6. intent.putExtra("outputX"96);  
    7. intent.putExtra("outputY"96);  
    8. intent.putExtra("noFaceDetection"true);  
    9. intent.putExtra("return-data"true);                                  
    10. startActivityForResult(intent, REQUEST_CROP_ICON);  

    当图片选取Activity返回后,将选取的内容保存: 
    Java代码 复制代码 收藏代码
    1. Bundle extras = data.getExtras();   
    2. if(extras != null ) {   
    3.     Bitmap photo = extras.getParcelable("data");   
    4.     ByteArrayOutputStream stream = new ByteArrayOutputStream();   
    5.     photo.compress(Bitmap.CompressFormat.JPEG, 75, stream);   
    6.         //将流写入文件或者直接使用   
    7. }  
     
     
  • 相关阅读:
    uva 10369 Arctic Network
    uvalive 5834 Genghis Khan The Conqueror
    uvalive 4848 Tour Belt
    uvalive 4960 Sensor Network
    codeforces 798c Mike And Gcd Problem
    codeforces 796c Bank Hacking
    codeforces 768c Jon Snow And His Favourite Number
    hdu 1114 Piggy-Bank
    poj 1276 Cash Machine
    bzoj 2423 最长公共子序列
  • 原文地址:https://www.cnblogs.com/pandans/p/2724075.html
Copyright © 2011-2022 走看看