آموزش Crop (برش) عکس در برنامه نویسی اندروید
سلام دوستان در این سری از آموزش برنامه نویسی اندروید به آموزش Crop (برش) عکس در برنامه نویسی اندروید می پردازیم قبلتر آموزشی شبیه به این آموزش ایجاد شده بود ولی استفاده از آن کمی سخت بود ولی حجم بسیار کمی به اپ شما اضافه میشد اگر می خواهید راحت تر هر عکسی را برش دهید می توانید از کتاب خانه ای که در ادامه برای شما قرار میدهم استفاده کنید در ادامه می توانید پیش نمایشی از آن را مشاهده کنید با ما همراه باشید.
برای استفاده از این کتاب خانه مثل همیشه عمل می کنیم.
ابتدا وارد فایل Build.gradle از نوع Top Level شده سپس در بخش repositories خط زیر را اضافه کنید.
1 | maven { url "https://jitpack.io" } |
سپس وارد فایل Build.gradle از نوع Module شده سپس در بخش dependencies خط زیر را اضافه کنید.
1 | compile 'com.github.ekimual:croperino:1.1.2' |
سپس پروژه را sync کنید.
باید دسترسی های زیر را نیز به AndroidManifest.xml اضافه کنید.
1 2 3 4 5 | <uses-permission android:name="android.permission.CAMERA" /> <uses-feature android:name="android.hardware.camera" /> <uses-feature android:name="android.hardware.camera.autofocus" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> |
برای اینکه از آن استفاده کنید می توانید مثل زیر عمل کنید.
1 2 3 4 5 6 7 8 9 10 11 12 | new CroperinoConfig("IMG_" + System.currentTimeMillis() + ".jpg", "/MikeLau/Pictures", "/sdcard/Pictures"); CroperinoFileUtil.verifyStoragePermissions(MainActivity.this); CroperinoFileUtil.setupDirectory(MainActivity.this); Croperino.prepareChooser(MainActivity.this, "Capture photo...", ContextCompat.getColor(MainActivity.this, android.R.color.background_dark)); //Camera try { Croperino.prepareCamera(MainActivity.this); } catch(Exception e) { e.printStackTrace; } //Gallery Croperino.prepareGallery(MainActivity.this); |
دو راه برای اینکه عکس رو به دست بیارید وجود دارد یک استفاده از دوربین دومی استفاده از gallery همانطور که می بینید برنامه از گالری درون ساخت استفاده می کند. باید یکی از کد های بالا رو قرار دهید منظورم بخش دوربین و بخش گالری است.
نتیجه فایل هم در پوشه ای به نام Pictures ذخیره می شود.
برای اینکه دسترسی بیشتری برای به دست آوردن عکس داشته باشید منظور بروی برگشت انتخاب از گالری اشراف داشته باشید می توانید از onActivityResult استفاده کنید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); switch (requestCode) { case CroperinoConfig.REQUEST_TAKE_PHOTO: if (resultCode == Activity.RESULT_OK) { Croperino.runCropImage(CroperinoFileUtil.getmFileTemp(), MainActivity.this, true, 1, 1, 0, 0); } break; case CroperinoConfig.REQUEST_PICK_FILE: if (resultCode == Activity.RESULT_OK) { CroperinoFileUtil.newGalleryFile(data, MainActivity.this); Croperino.runCropImage(CroperinoFileUtil.getmFileTemp(), MainActivity.this, true, 1, 1, 0, 0); } break; case CroperinoConfig.REQUEST_CROP_PHOTO: if (resultCode == Activity.RESULT_OK) { Uri i = Uri.fromFile(CroperinoFileUtil.getmFileTemp()); ivMain.setImageURI(i); } break; default: break; } } |
در صورتی انتخاب شد به طور مثال crop انجام شود.
این آموزش هم پایان رسید
موفق و موید باشیدو
اموزش خوبی بود ممنون
سلام آقای جعفر پور عزیز
واقعا ممنون برای این پست برنامه خیلی عالی کار می کنه، ی سوال داشتم من چون خارج از کشور زندگی می کنم می خواستم بدونم استفاده از این کتاب خونه در برنامه ای که می خوام توی گوگل پلی استور بفروشم از نظر قانون کپی رایت برام مشکلی ایجاد نمیکنه؟ و اینکه من این کتابخونه رو توی گیت هاب پیدا کردم و می خواستم یکم تغییرات توش بدم ولی بازم نگران قانون کپی رایتم اگه میشه ی توضیحی بدین لطفا!
سلام و درود
هیچ مشکلی ندارد! کتاب خانه open source است
موفق و پیروز باشید.
سلام
خیلی عالی هستش فقط یه مشکلی داره اونم اینکه تو اندروید 9 به بالا از گالری عملیات کراپ رو انجام نمیده و انم بخاطر مسیر دهی آدرس عکس هستش که تو اندروید های جدید فرق کرده من نتونستم درستش کنم اگه راهشو بگید خیلی خیلی ممنون میشم