1. 程式人生 > >Android camera.action.CROP 截圖 有些版本實現不了

Android camera.action.CROP 截圖 有些版本實現不了

我是想實現拍照和或者選擇相機中的照片,剪下後新增都畫板然後進行塗鴉。
這個是sony 安卓4.1.2系統


然後就是按了右上角那個剪下之後沒有任何反應

而在安卓2.3.5 G10上
就有一個儲存的按鈕,按了之後就可以將剪下的圖片載入到畫布上了


這是我的程式碼

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
// if(resultCode == RESULT_OK){  
Toast.makeText(getApplicationContext(), requestCode+"", 0).show();
switch (requestCode) {
// 如果是直接從相簿獲取
case 1:
startPhotoZoom(data.getData());
break;
// 如果是呼叫相機拍照時
case 2:
File temp = new File(Environment.getExternalStorageDirectory(),
"/"+file);
startPhotoZoom(Uri.fromFile(temp));
break;
// 取得裁剪後的圖片
case 3:
Toast.makeText(getApplicationContext(), "kuku", 0).show();
if (data != null) {
setPicToView(data);
}
break;
default:
Toast.makeText(getApplicationContext(), "hha", 0).show();
}
}

         /**
 * 裁剪圖片方法實現
 * 
 * @param uri
 */
public void startPhotoZoom(Uri uri) {


Intent intent = new Intent("com.android.camera.action.CROP");
intent.setDataAndType(uri, "image/*");



// 下面這個crop=true是設定在開啟的Intent中設定顯示的VIEW可裁剪
intent.putExtra("crop", "true");
// aspectX aspectY 是寬高的比例
 intent.putExtra("aspectX", bitmapWidth);
 intent.putExtra("aspectY", bitmapHeight);
// outputX outputY 是裁剪圖片寬高
//intent.putExtra("outputX", bitmapWidth);
//intent.putExtra("outputY", bitmapHeight);
intent.putExtra("return-data", true);

startActivityForResult(intent, 3);
Toast.makeText(getApplicationContext(), "susu", 0).show();
}

        /**
 * 儲存裁剪之後的圖片資料
 * 
 * @param picdata
 */
private void setPicToView(Intent data) {
 Bundle extras = data.getExtras();  
        if (extras != null) {  
            Bitmap photo = extras.getParcelable("data");  
            baseBitmap= photo.copy(Bitmap.Config.ARGB_8888, true);
     // 儲存最初始圖片
     initBitmap = baseBitmap.copy(Bitmap.Config.ARGB_8888, true);
     //清楚筆畫記錄
     saveLines.clear();
     deleteLines.clear();
     initCanvas(baseBitmap);
        }

}
對於4.1.2系統
就是我發現 tartPhotoZoom(Uri uri) 這個函式死可以執行到Toast.makeText(getApplicationContext(), "susu", 0).show();的,但是在其執行startActivityForResult(intent, 3);的時候,就是按剪下這個按鈕沒有反應,startActivityForResult(intent, 3);這個其實是沒有執行的,然後我按了取消按鈕Toast.makeText(getApplicationContext(), requestCode+"", 0).show();就執行了,輸出的是3.
請大神幫我解決這個問題,真的是很糾結很糾結

相關推薦

Android camera.action.CROP 有些版本實現

我是想實現拍照和或者選擇相機中的照片,剪下後新增都畫板然後進行塗鴉。 這個是sony 安卓4.1.2系統 然後就是按了右上角那個剪下之後沒有任何反應 而在安卓2.3.5 G10上 就有一個儲存的按鈕,按了之後就可以將剪下的圖片載入到畫布上了 這是我的程式碼 @Overrid

呼叫系統裁切 com.android.camera.action.CROP 如何才能橫屏裁切呢?

現在拍照後,進入了裁切功能,固定比例是:長寬(2:1) 考慮到拍照時,是橫屏拍照的,裁切的時候也能要是橫屏裁切,但是目前就是一直不能橫屏裁切,只能是豎屏裁切。 以下是程式碼: Intent intent = MiniPic.other_getCropImageIn

Android com.android.camera.action.CROP 裁剪圖片的問題

大部分如果遇到這個方法 設定引數 然後裁切都很正常 但是在單張圖片裁切小圖的時候 當裁切的圖片尺寸別預設的大小小的時候會有黑邊 怎麼解決呢? Intent intent = new Intent("com.android.camera.action.CROP"); int

Android獲取View的,包括各種Layout的

Layout生效後才能使用 /** * 獲取Layout截圖 * * @return 所需區域的截圖 */ private Bitmap getBitmap() { rel_content.setDrawing

Android 整個手機螢幕和去除狀態列

一、去除狀態列截圖 //整個手機螢幕的檢視 View view = getWindow().getDecorView(); view.setDrawingCacheEnabled(true); view.buildDrawingCache(); Bitmap bit

vlc android的編譯及,錄製視訊等功能

編譯的環境是ubuntu 12.04,要安裝好java,配置好環境變數,按照http://wiki.videolan.org/AndroidCompile配置好,就可以編譯了。 export JAVA_HOME=/home/sunlit/jdk1.6.0_38/

Android 儲存圖片到系統庫 -- 利用 “系統儲存螢幕” 的方法實現

儲存圖片到系統圖庫是個很常見的功能,今天第一次做的時候,遇到了一些問題,就是儲存到了相簿之後,在部分機型上無法立即顯示,原因就是相簿資料沒有更新。百度了一下,發現這個問題還是很常見的,網上也有不少的解決辦法。 在參考了:http://blog.csdn.net/xu_fu/

解決小米miui系統呼叫系統裁剪圖片功能camera.action.CROP後崩潰或重新開啟app的問題

選擇相簿圖片(或呼叫MediaStore.ACTION_IMAGE_CAPTURE拍照),然後裁剪。在其他系統上都測試正常,但是在小米上出現了問題。小米2s上,裁剪後點擊確定直接卡死系統;小米3上,裁剪後點擊確定直接回到主介面,相當於重新開啟app。就是說,裁剪後,無法響

最新Android 7.1.1 方法

通過分析SystemUI,發現實際呼叫SurfaceControl.java隱藏類實現拷屏, 但需要系統許可權public Bitmap captureScreen() { Display mDisplay; DisplayMetrics mDisplay

android應用裡面在某個介面禁止系統功能的實現

在Activity的onCreate()方法的Layout初始化部分加入以下程式碼Window win = getWindow();win.addFlags(WindowManager.LayoutParams.FLAG_SECURE);具體的原因看下android原始碼S

【拍照Android 系統拍照和

tjstudy:寫在前面: android 6.0 許可權未處理,這裡只是對拍照和截圖的過程進行了知識的清理總結。 android6.0 許可權處理,可跳轉到: 大力哥的,http://download.csdn.net/detail/qq13772269

android_qqApk反編譯/android小工具/ddms

  qqApk反編譯:   android,開一個QQ,後臺顯示執行3個QQ程式:QQ的執行元件;配置檔案780行;12個service;15個receiver;309個activity;   <manifest **>     <permissio

利用adb對android手機進行遠端/

        今晚在家搗騰手機, 玩adb的時候, 利用adb對手機進行了截圖,  玩玩, 如下: C:\Documents and Settings\Administrator>adb connect 192.168.1.100 connected to 192

Android中使用程式碼的各種方法總結

1,基於Android SDK的截圖方法 (1)主要就是利用SDK提供的View.getDrawingCache()方法。網上已經有很多的例項了。首先建立一個android project,然後進行Layout,畫一個按鍵(res/layout/main.xml

Android--獲得螢幕高寬,螢幕(包括或包括狀態列)

記錄下這些常用的方法,方便以後開發使用,貼程式碼: //獲得螢幕相關的輔助類 public class ScreenUtils { private ScreenUtils() { /* cannot be instantiate

Android獲取當前螢幕,簡單粗暴!

獲取當前螢幕截圖的Bitmap物件,然後就可以拿去做你想做的事情,程式碼很簡單。 public static Bitmap captureScreen(Activity activity) { activity.getWindow().getDe

Snipaste - 開發三年的工具,但只是

開發 cal 官網 穿透 oba 此外 完全 1.0 頻道 先不要在意標題的“三年”,讓我先介紹一下軟件的功能。 Snipaste ,顧名思義, Snip + Paste ,截圖 + 貼圖。 截圖: 貼圖,即是使圖片成為一個窗口並置頂顯示: 貼圖窗口可以旋轉、縮放

保存位置在已選擇的 “SD卡”中

mtk[DESCRIPTION]設置默認存儲路徑為內部存儲,截屏圖片保存在外置SD卡中。[SOLUTION]修改GlobalScreenshot.java的saveImageInBackgroundTask方法:String imageDir = Environment.getExternalStorageP

zabbix監控mysql5.6版本,怎麽辦?這裏有解決辦法!!!

echo line 進行 password 搭建過程 using 部署 所在 取數 問題:今天我把本地的zabbix對mysql監控的部署系統轉到雲主機上,發現出現下圖的情況(搭建過程可參考http://blog.51cto.com/xiaozhagn/2059430)然

jquery.PrintArea 區域性列印 去掉頁首頁尾,但在IE有些版本管用。

修改jquery.PrintArea.js 檔案中的getFormDate 函式 function getFormData(ele) {         $("input,select,texta