Saturday, March 5, 2016

Crop An Image in Android Programmatically


package zafar.android.cropimage;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Matrix;
import android.graphics.<span id="IL_AD8" class="IL_AD">Paint</span>;
import android.graphics.Path;
import android.graphics.<span id="IL_AD9" class="IL_AD">Rect</span>;
import android.graphics.RectF;
import android.graphics.drawable.BitmapDrawable;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.AbsoluteLayout;
import android.widget.FrameLayout;
@SuppressWarnings({ "deprecation", "<span id="IL_AD10" class="IL_AD">unused</span>" })
public class Move extends Activity {
    public FrameLayout board;
    public View part1;
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
         board = new FrameLayout(this);
         board = (FrameLayout)findViewById(R.id.Board);
         part1 = <span id="IL_AD7" class="IL_AD">new View</span>(this);
         part1 = findViewById(R.id.part1);
        try{
            Paint paint = new Paint();
            paint.setFilterBitmap(true);
            Bitmap bitmapOrg = BitmapFactory.decodeResource(getResources(),R.drawable.image);
            int targetWidth  = 300;
            int targetHeight = 300;
            Bitmap targetBitmap = Bitmap.createBitmap(targetWidth, targetHeight,Bitmap.<span id="IL_AD2" class="IL_AD">Config</span>.ARGB_8888);
            RectF rectf = new RectF(0, 0, 100, 100);
            Canvas canvas = new Canvas(targetBitmap);
            Path path = new Path();
            path.addRect(rectf, Path.Direction.CW);
            canvas.clipPath(path);
            canvas.drawBitmap( bitmapOrg, new Rect(0, 0, bitmapOrg.getWidth(), bitmapOrg.getHeight()),
                            new Rect(0, 0, targetWidth, targetHeight), paint);
            <span id="IL_AD5" class="IL_AD">Matrix matrix</span> = <span id="IL_AD6" class="IL_AD">new Matrix</span>();
            matrix.postScale(1f, 1f);
            Bitmap resizedBitmap = Bitmap.createBitmap(targetBitmap, 0, 0, 100, 100, matrix, true);
            /*convert Bitmap to resource */
            BitmapDrawable bd = new BitmapDrawable(resizedBitmap);
            part1.setBackgroundDrawable(bd);
        }
        catch(Exception e){
            System.out.println("Error1 : " + e.getMessage() + e.toString());
      }
    }
main.xml
<?<span id="IL_AD11" class="IL_AD">xml version</span>="1.0" encoding="utf-8"?>
<FrameLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="fill_parent"
     android:layout_height="fill_parent"
     android:id="@+id/Board"
     android:layout_gravity="top">
<View
        android:layout_height="100dp"
        android:layout_width="100dp"
        android:id="@+id/part1"
        >
</FrameLayout>


For further any exception, Let me know..

No comments:

Post a Comment