国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android從相冊選擇圖片剪切和上傳

2019-12-12 03:49:43
字體:
來源:轉載
供稿:網友

本文實例為大家分享了Android剪切和上傳圖片的具體代碼,供大家參考,具體內容如下

1、從Android系統相冊選擇一張圖片getImageFromAlbum():

  /**   * 從圖庫獲得照片   */  protected void getImageFromAlbum() {    isImgs = true;    // MainApplication.changeSettingStateus = true;    Intent intent = new Intent(Intent.ACTION_PICK);    intent.setType("image/*");// 相片類型    intent.putExtra("aspectX", 1);    intent.putExtra("aspectY", 1);    intent.putExtra("outputX", 360);    intent.putExtra("outputY", 360);    intent.putExtra("scale", true);    intent.putExtra("return-data", true);    // intent.putExtra("outputFormat",    // Bitmap.CompressFormat.JPEG.toString());    intent.putExtra("noFaceDetection", true); // no face detection    startActivityForResult(intent, 1);  }

2、在onActivityResult()方法中:

  @Override  protected void onActivityResult(int requestCode, int resultCode, Intent data) {    // TODO Auto-generated method stub    super.onActivityResult(requestCode, resultCode, data);    if (resultCode == RESULT_OK) {      String text;      switch (requestCode) {      case 1:        Uri selectedImage = data.getData();        CutPic(selectedImage);        break;      case 3:// 對圖片進行剪切        if (data != null) {          Bitmap bitmap = data.getParcelableExtra("data");          temps = zoomImage(bitmap, 360, 360);          // 上傳圖片          uploadImg(temps);        }        break;      default:        break;      }    }  }

3、圖片剪切 CutPic(selectedImage);

  /**   * 將圖片裁剪到指定大小   *    * @param uri   * @param size   * @param flag   */  public void CutPic(Uri uri) {    Intent intent = new Intent("com.android.camera.action.CROP");    intent.setDataAndType(uri, "image/*");    intent.putExtra("crop", true);// 設置Intent中的view是可以裁剪的    // 設置寬高比    intent.putExtra("aspectX", 1);    intent.putExtra("aspectY", 1);    // 設置裁剪圖片的寬高    intent.putExtra("outputX", 360);    intent.putExtra("outputY", 360);    intent.putExtra("outputFormat", "JPEG");// 圖片格式    // 設置是否返回數據    intent.putExtra("return-data", true);    // 開啟一個帶有返回值的Activity,請求碼為3    startActivityForResult(intent, 3);  }

4、圖片壓縮剪切zoomImage(bitmap, 360, 360);

/***   * 圖片的縮放方法   *    * @param bgimage   *      :源圖片資源   * @param newWidth   *      :縮放后寬度   * @param newHeight   *      :縮放后高度   * @return   */  public static Bitmap zoomImage(Bitmap bgimage, double newWidth,      double newHeight) {    // 獲取這個圖片的寬和高    float width = bgimage.getWidth();    float height = bgimage.getHeight();    // 創建操作圖片用的matrix對象    Matrix matrix = new Matrix();    // 計算寬高縮放率    float scaleWidth = ((float) newWidth) / width;    float scaleHeight = ((float) newHeight) / height;    // 縮放圖片動作    matrix.postScale(scaleWidth, scaleHeight);    Bitmap bitmap = Bitmap.createBitmap(bgimage, 0, 0, (int) width,        (int) height, matrix, true);    return bitmap;  }

5、上傳圖片文件至服務器uploadImg(bitMaps);

  /**   * 上傳圖片   *    * @param bitP   */  private void uploadImg(final Bitmap bitP) {    // 將Bitmap轉換成字符串    String string = null;    ByteArrayOutputStream bStream = new ByteArrayOutputStream();    bitP.compress(CompressFormat.JPEG, 100, bStream);    byte[] bytes = bStream.toByteArray();    string = Base64.encodeToString(bytes, Base64.DEFAULT);    try {      bStream.close();    } catch (IOException e1) {      // TODO Auto-generated catch block      e1.printStackTrace();    }    //string 文件上傳服務器...  }

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 华安县| 哈巴河县| 蓬莱市| 读书| 怀柔区| 上饶县| 铜梁县| 万荣县| 大名县| 安阳县| 长武县| 大庆市| 廉江市| 高碑店市| 宁南县| 金平| 金川县| 洛扎县| 甘谷县| 枞阳县| 萝北县| 芮城县| 靖安县| 绩溪县| 沁水县| 江都市| 南木林县| 金华市| 江津市| 金坛市| 五家渠市| 龙川县| 黎平县| 西盟| 龙川县| 潞城市| 响水县| 任丘市| 安陆市| 峨山| 商水县|