Hi Guys Welcome to Proto Coders Point. In this Tutorial we will make use of GitHub library that will help you in Adding Filter to your photo.
This Android Photo Filter github library will help you in adding 16 different photo filter.
Photo Filter Github Android Library
This image processing library is Very Easy to use as android image filter library.
Then, let’s begin Implementing the above library in our project.
Demo
Step 1: Creating a new Android project
So this is common steps, you need to create a new android project in android-studio as usual
File > New > New Project
Fill all the Required data while create new project.
or else, you can even implement this github library in existing project, all left to you it’s your choice.
Step 2: Add the JitPack repository to your build file
On the right side in project section, open Build.gradle (project: level) and all the following JitPack repository in it as shown in below image.
allprojects { repositories { maven { url 'https://jitpack.io' } //add this line } }
Add here
Add the Required dependency
Then, you need to add one Dependency in build.gradle(app:module)
dependencies { .................... .................... implementation 'com.github.hgayan7:FilterLibrary:0.1.0' }
Add here as shown
How to use Photo Filter Library?
Here is the sample code how to use this image filter library
ImageView myImageView1,myImageView2; Bitmap myBitmap1,myBItmap2; PhotoFilter photoFilter; myImageView1 = findViewById(R.id.imageView1); myBitmap1 = BitmapFactory.decodeResource(getResources(),R.drawable.myImage1); myImageView2 = findViewById(R.id.imageView2); myBitmap2 = BitmapFactory.decodeResource(getResources(),R.drawable.myImage2); photoFilter = new PhotoFilter(); // using filter 'one' myImageView1.setImageBitmap(photoFilter.one(getApplicationContext(),myBitmap1)); // using filter 'sixteen' myImageView2.setImageBitmap(photoFilter.sixteen(getApplicationContext(),myBitmap2));
The above code is from official github photo filter library check here
What is Bitmap in android?
The Bitmap (android.graphics.Bitmap) class represents a bitmap image. You create bitmaps via the BitmapFactory (android.graphics.BitmapFactory) class.
Using a BitmapFactory, you can create bitmaps in three common ways: from a resource, a file, or an InputStream. To create a bitmap from a resource, you use the BitmapFactory method decodeResource():
In above snippet code i am making use of bitmap to decode the image resource and setting the imageView with image filter library.
you can user this filter to build an photo filter app like pixArt
Complete code of the Photo Filter library
activity_main.xml
Copy paste the below xml code in activity_main.xml file
<?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:gravity="center"> <TextView android:text="Normal" android:layout_gravity="center" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <ImageView android:id="@+id/id_image1" android:layout_width="wrap_content" android:layout_height="300dp" android:background="@drawable/image1"/> <TextView android:text="Filter one" android:layout_gravity="center" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <ImageView android:id="@+id/id_image2" android:layout_width="wrap_content" android:layout_height="300dp" android:background="@drawable/image1"/> <TextView android:text="Filter two" android:layout_gravity="center" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <ImageView android:id="@+id/id_image3" android:layout_width="wrap_content" android:layout_height="300dp" android:background="@drawable/image1"/> <TextView android:text="Filter three" android:layout_gravity="center" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <ImageView android:id="@+id/id_image4" android:layout_width="wrap_content" android:layout_height="300dp" android:background="@drawable/image1"/> <TextView android:text="Filter four" android:layout_gravity="center" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <ImageView android:id="@+id/id_image5" android:layout_width="wrap_content" android:layout_height="300dp" android:background="@drawable/image1"/> <TextView android:text="Filter five" android:layout_gravity="center" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <ImageView android:id="@+id/id_image6" android:layout_width="wrap_content" android:layout_height="300dp" android:background="@drawable/image1"/> <TextView android:text="Filter six" android:layout_gravity="center" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <ImageView android:id="@+id/id_image7" android:layout_width="wrap_content" android:layout_height="300dp" android:background="@drawable/image1"/> <TextView android:text="Filter seven" android:layout_gravity="center" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <ImageView android:id="@+id/id_image8" android:layout_width="wrap_content" android:layout_height="300dp" android:background="@drawable/image1"/> <TextView android:text="Filter eight" android:layout_gravity="center" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <ImageView android:id="@+id/id_image9" android:layout_width="wrap_content" android:layout_height="300dp" android:background="@drawable/image1"/> <TextView android:text="Filter Nine" android:layout_gravity="center" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <ImageView android:id="@+id/id_image10" android:layout_width="wrap_content" android:layout_height="300dp" android:background="@drawable/image1"/> <TextView android:text="Filter ten" android:layout_gravity="center" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <ImageView android:id="@+id/id_image11" android:layout_width="wrap_content" android:layout_height="300dp" android:background="@drawable/image1"/> <TextView android:text="Filter eleven" android:layout_gravity="center" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <ImageView android:id="@+id/id_image12" android:layout_width="wrap_content" android:layout_height="300dp" android:background="@drawable/image1"/> <TextView android:text="Filter twelve" android:layout_gravity="center" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <ImageView android:id="@+id/id_image13" android:layout_width="wrap_content" android:layout_height="300dp" android:background="@drawable/image1"/> <TextView android:text="Filter thirteen" android:layout_gravity="center" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <ImageView android:id="@+id/id_image14" android:layout_width="wrap_content" android:layout_height="300dp" android:background="@drawable/image1"/> <TextView android:text="Filter forteen" android:layout_gravity="center" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <ImageView android:id="@+id/id_image15" android:layout_width="wrap_content" android:layout_height="300dp" android:background="@drawable/image1"/> <TextView android:text="Filter fifteen" android:layout_gravity="center" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <ImageView android:id="@+id/id_image16" android:layout_width="wrap_content" android:layout_height="300dp" android:background="@drawable/image1"/> <TextView android:text="Filter sixteen" android:layout_gravity="center" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <ImageView android:id="@+id/id_image17" android:layout_width="wrap_content" android:layout_height="300dp" android:background="@drawable/image1"/> </LinearLayout> </ScrollView>
Main_Activity.java
package protocoderspoint.com.photofilter; import androidx.appcompat.app.AppCompatActivity; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.Bundle; import android.widget.ImageView; import com.uvstudio.him.photofilterlibrary.PhotoFilter; public class MainActivity extends AppCompatActivity { ImageView im2,im3,im4,im5,im6,im7,im8,im9,im10,im11,im12,im13,im14,im15,im16,im17; Bitmap myBitmap; PhotoFilter photoFilter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); im2=(ImageView)findViewById(R.id.id_image2); im3=(ImageView)findViewById(R.id.id_image3); im4=(ImageView)findViewById(R.id.id_image4); im5=(ImageView)findViewById(R.id.id_image5); im6=(ImageView)findViewById(R.id.id_image6); im7=(ImageView)findViewById(R.id.id_image7); im8=(ImageView)findViewById(R.id.id_image8); im9=(ImageView)findViewById(R.id.id_image9); im10=(ImageView)findViewById(R.id.id_image10); im11=(ImageView)findViewById(R.id.id_image11); im12=(ImageView)findViewById(R.id.id_image12); im13=(ImageView)findViewById(R.id.id_image13); im14=(ImageView)findViewById(R.id.id_image14); im15=(ImageView)findViewById(R.id.id_image15); im16=(ImageView)findViewById(R.id.id_image16); im17=(ImageView)findViewById(R.id.id_image17); myBitmap = BitmapFactory.decodeResource(getResources(),R.drawable.image1); photoFilter = new PhotoFilter(); im2.setImageBitmap(photoFilter.one(getApplicationContext(),myBitmap)); im3.setImageBitmap(photoFilter.two(getApplicationContext(),myBitmap)); im4.setImageBitmap(photoFilter.three(getApplicationContext(),myBitmap)); im5.setImageBitmap(photoFilter.four(getApplicationContext(),myBitmap)); im6.setImageBitmap(photoFilter.five(getApplicationContext(),myBitmap)); im7.setImageBitmap(photoFilter.six(getApplicationContext(),myBitmap)); im8.setImageBitmap(photoFilter.seven(getApplicationContext(),myBitmap)); im9.setImageBitmap(photoFilter.eight(getApplicationContext(),myBitmap)); im10.setImageBitmap(photoFilter.nine(getApplicationContext(),myBitmap)); im11.setImageBitmap(photoFilter.ten(getApplicationContext(),myBitmap)); im12.setImageBitmap(photoFilter.eleven(getApplicationContext(),myBitmap)); im13.setImageBitmap(photoFilter.twelve(getApplicationContext(),myBitmap)); im14.setImageBitmap(photoFilter.thirteen(getApplicationContext(),myBitmap)); im15.setImageBitmap(photoFilter.fourteen(getApplicationContext(),myBitmap)); im16.setImageBitmap(photoFilter.fifteen(getApplicationContext(),myBitmap)); im17.setImageBitmap(photoFilter.sixteen(getApplicationContext(),myBitmap)); } }
When you use this Image filter library you just need to create an object of this library. and use the created object like this:
im17.setImageBitmap(photoFilter.one(getApplicationContext(),myBitmap));
Then here, just replace the one with any number up to sixteen.
[…] Android Image Filter library : Image processing library is very easy to use as android image filter library. […]