This example demonstrate about How to resize Image in Android App.
Step 1 − Create a new project in Android Studio, go to File ⇒ New Project and fill all required details to create a new project.
Step 2 − Add the following code to res/layout/activity_main.xml.
<? xml version= "1.0" encoding= "utf-8" ?>
<RelativeLayout 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 :gravity= "center"
tools :context= ".MainActivity" >
<ImageView
android :id= "@+id/ivImage"
android :layout_width= "wrap_content"
android :layout_height= "wrap_content"
android :layout_centerHorizontal= "true"
android :contentDescription= "@string/app_name"
android :src= "@drawable/ic_launcher_foreground" />
<LinearLayout
android :layout_width= "match_parent"
android :layout_height= "wrap_content"
android :layout_below= "@+id/ivImage"
android :layout_centerHorizontal= "true" >
<Button
android :layout_width= "0dp"
android :layout_height= "wrap_content"
android :layout_marginTop= "8dp"
android :layout_weight= "1"
android :onClick= "uploadImage"
android :text= "Upload Image" />
<Button
android :layout_width= "0dp"
android :layout_height= "wrap_content"
android :layout_marginTop= "8dp"
android :layout_weight= "1"
android :onClick= "resizeImage"
android :text= "Resize Image" />
</LinearLayout>
</RelativeLayout>
Step 3 − Add the following code to src/MainActivity.java
public class MainActivity extends AppCompatActivity {
ImageView ivImage ;
public static final int PICK_IMAGE = 1 ;
Bitmap yourBitmap ;
@Override
protected void onCreate (Bundle savedInstanceState) {
super .onCreate(savedInstanceState) ;
setContentView(R.layout. activity_main ) ;
ivImage = findViewById(R.id. ivImage ) ;
}
public void uploadImage (View view) {
Intent intent = new Intent(Intent. ACTION_GET_CONTENT ) ;
intent.setType( "image/*" ) ;
startActivityForResult(intent , PICK_IMAGE ) ;
}
public void resizeImage (View view) {
Bitmap resized = Bitmap. createScaledBitmap ( yourBitmap , 400 , 400 , true ) ;
ivImage .setImageBitmap(resized) ;
}
@Override
public void onActivityResult ( int requestCode , int resultCode , Intent data) {
super .onActivityResult(requestCode , resultCode , data) ;
if (requestCode == PICK_IMAGE && resultCode == Activity. RESULT_OK ) {
if (data == null ) {
//Display an error
return;
}
try {
Uri imageUri = data.getData() ;
yourBitmap =
MediaStore.Images.Media. getBitmap ( this .getContentResolver() , imageUri) ;
ivImage .setImageBitmap( yourBitmap ) ;
} catch (IOException e) {
e.printStackTrace() ;
}
}
}
}
Step 4 − Add the following code to androidManifest.xml
<? xml version= "1.0" encoding= "utf-8" ?>
<manifest xmlns: android = "http://schemas.android.com/apk/res/android"
package= "app.tutorialspoint.com.sample" >
<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>
</application>
</manifest>
No comments:
Post a Comment