Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android 圖片裁剪

Android 圖片裁剪

編輯:關於Android編程

     private static final int PHOTO_PICKED_WITH_DATA = 3021;
     //用於保存大圖片位置的uri
     private static Uri mCropUri;
      public void setWallPaper(View v) {
          //獲取圖片在手機內存的地址
           File file = ImageLoader.getInstanse(this).getImageFile(picUrl);
           //給保存位置設一個位置,並轉換成uri
            mCropUri = Uri.fromFile( new File(file.getParentFile(),"crop" ));
           Uri uri = Uri. fromFile(file);
           Intent intent = getCropImageIntent(uri) ;
           startActivityForResult(intent, PHOTO_PICKED_WITH_DATA);
      }

     /**
      * 裁剪圖片的方法
      *
      * @param uri
      */
     public static Intent getCropImageIntent (Uri photoUri) {

          Intent intentCarema = new Intent("com.android.camera.action.CROP" );
          intentCarema.setDataAndType(photoUri, "image/*");
          intentCarema.putExtra( "crop", true);
          intentCarema.putExtra( "scale", true);
          intentCarema.putExtra(MediaStore. EXTRA_OUTPUT, mCropUri);
          intentCarema.putExtra( "outputFormat", Bitmap.CompressFormat.JPEG .toString());
       //intentCarema.putExtra("FaceDetection", true);// 人臉識別功能
      // intentCarema.putExtra("circleCrop", "");//設定此方法選定區域會是圓形區域
           // aspectX aspectY是寬高比例
          intentCarema.putExtra( "aspectX",5);
          intentCarema.putExtra( "aspectY",4);
           // outputX outputY 是裁剪圖片的寬高
     /*   intentCarema.putExtra("outputX", 200);
          intentCarema.putExtra("outputY", 300);*/
          intentCarema.putExtra( "return-data", false );
           return intentCarema;
     }


     @Override
     protected void onActivityResult( int requestCode, int resultCode, Intent data) {
           switch (requestCode) {
           case PHOTO_PICKED_WITH_DATA:
              Bitmap bitmap = decodeUriAsBitmap( mCropUri);//decode bitmap
               if (bitmap != null) {
                   WallpaperManager wallpaperManager = WallpaperManager.getInstance(this);
                    try {
                        wallpaperManager.setBitmap(bitmap);
                        Toast. makeText(this, "壁紙設置成功", Toast. LENGTH_LONG).show();
                   } catch (IOException e) {
                        e.printStackTrace();
                   }
              }
          }
     }


  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved