Belajar Cara Memotong (Crop) Gambar di Android Studio
Didalam sebuah aplikasi, fitur untuk memotong gambar sudah sangan umum digunakan, banyak sekali aplikasi-aplikasi android mempunyai fitur untuk memotong gambar / crop image, misalnya aplikasi sosial media, messenger, aplikasi ediring foto, dsb. Fungsi ini digunakan untuk menentukan posisi gambar yang akan ditampilkan, sehingga tidak sepenuhnya ditampilkan.
Selain itu crop image digunakan untuk gambar yang mempunyai resolusi besar, sehingga user bisa menentukan posisi gambar yang ingin ditampilkan pada layar, contohnya seperti aplikasi WhatsApp, pada aplikasi tersebut saat user ingin mengubah foto profil, pertama user diharuskan untuk corping image terlebih dahulu. baru setelah itu gambar dapat ditampilkan
Materi lainnya yang direkomendasikan:
- Membuat Aplikasi Menampilkan Gambar pada ImageView dari Galeri atau Kamera
- Cara Membuat Circle Image pada Android Studio
- Cara Membuat Image Gallery Menggunakan GridView
Pada tutorial ini kita akan membuat project sederhana, pada aplikasi tersebut user dapat menampilkan gambar pada layar menggunakan ImageView, gambar tersebut diambil dari penyimpanan Galeri, setelah user memilih gambar, setelah itu user akan diarahkan pada halaman croping image, jika berhasil maka gambar akan ditampilkan.
Belajar Cara Memotong (Crop) Gambar di Android Studio
1) Buka aplikasi Android Studio kalian, Buat Project Baru.2) Jika sudah, selanjutnya tambahkan kedua library berikut ini kedalam dependencies kalian, library tersebut digunakan untuk menampilkan halaman croping image dan memproses pemotongan gambar dan satu lagi untuk menampilkan gambar (Picasso).
implementation 'com.theartofdev.edmodo:android-image-cropper:2.7.0'
implementation 'com.squareup.picasso:picasso:2.71828'
3) Selanjutnya buka activity_main.xml kalian, disini kita akan mendesain tampilkan layout untuk aplikasi yang akan kita buat, disini kita cukup menambahkan Widget ImageView dan Sebuah Button.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="12dp"
android:orientation="vertical"
tools:context="android.cianjur.developer.net.basicandroid.MainActivity">
<Button
android:id="@+id/choose_image"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Pilih Gambar" />
<ImageView
android:id="@+id/myPicture"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
4) Buka file androidManifest.xml kalian, disini kita akan menambahkan Activity untuk proses Cropping, tambakan didalam tag <application>, seperti ini.
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<!-- Menambahkan Activity Untuk Cropping Image -->
<activity
android:name="com.theartofdev.edmodo.cropper.CropImageActivity"
android:theme="@style/Base.Theme.AppCompat" />
</application>
5) Terakhir buka class MainActivity.java, disini kita akan menggunakan kedua library yang sudah di implementasikan tadi, yaitu image-cropper dan picasso.package android.cianjur.developer.net.basicandroid;
/*
Dibuat Oleh WILDAN M ATHOILLAH
*/
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.Toast;
import com.squareup.picasso.Picasso;
import com.theartofdev.edmodo.cropper.CropImage;
public class MainActivity extends AppCompatActivity{
//Deklarasi Variable
private Button ChooseImage;
private ImageView Image;
//Kode Permintaan untuk mengambil gambar dari Galeri
private int REQUEST_CODE_GALLERY = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Image = findViewById(R.id.myPicture);
ChooseImage = findViewById(R.id.choose_image);
ChooseImage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
addImage();
}
});
}
//Mengambil gambar dari Galeri
private void addImage() {
Intent galleryIntent = new Intent();
galleryIntent.setType("image/*");
galleryIntent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(galleryIntent, "SELECT IMAGE"), REQUEST_CODE_GALLERY);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
//Mengarahkan user pada halaman Cropping Image
if(requestCode == REQUEST_CODE_GALLERY && resultCode == RESULT_OK){
Uri imageUri = data.getData();
CropImage.activity(imageUri)
.setAspectRatio(1,1)
.start(this);
}
//Menampilkan Gambar hasil Cropping Image
if(requestCode == CropImage.CROP_IMAGE_ACTIVITY_REQUEST_CODE) {
CropImage.ActivityResult result = CropImage.getActivityResult(data);
if (resultCode == RESULT_OK) {
Uri imageUri = result.getUri(); //Mengubah data image kedalam Uri
//Menampilkan Gambar pada ImageView
Picasso.get().load(imageUri).into(Image);
}else if(requestCode == CropImage.CROP_IMAGE_ACTIVITY_RESULT_ERROR_CODE){
//Menangani Jika terjadi kesalahan
String error = result.getError().toString();
Log.d("Exception", error);
Toast.makeText(getApplicationContext(), "Crop Image Error", Toast.LENGTH_SHORT).show();
}
}
}
}
Sekian dari saya, mohon maaf bila ada kesalahan, jika ada yang ingin ditanyaka, silakan isi kolom komentar dibawah ini.
Wassalamualaikum Warahmatullahi Wabarakatuh.
Posting Komentar untuk "Belajar Cara Memotong (Crop) Gambar di Android Studio"