Click here to Skip to main content
15,881,559 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
Actually I have written a code to select image from gallery,but I dont know how to draw or write a text by hand on it.and Edited image should be saved separately in sdcard.Basically I have to make basic paint app where canvas will be my selected image,and my touch is input to draw a circle or anything.

Java
package listdisplay.example.com.photoedit;

import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.net.Uri;
import android.os.ParcelFileDescriptor;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Display;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;

import java.io.FileDescriptor;
import java.io.IOException;

public class MainActivity_photoedit extends AppCompatActivity {
    private static final int RORC =0;
    ImageView iview;
    Button button,button2;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main_photoedit);
        iview= (ImageView) findViewById(R.id.imageView);

        button =(Button)findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
                                      @Override
                                      public void onClick(View view) {
                                          Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
                                          intent.addCategory(Intent.CATEGORY_OPENABLE);
                                          intent.setType("image/*");
                                          startActivityForResult(intent,RORC);
                                      }
                                  }

        );
}
    @Override
    public  void onActivityResult(int requestCode,int resultCode,Intent resultData){
        if(requestCode==RORC && resultCode==RESULT_OK){
            Uri uri =null;
            if(resultData!=null){
                uri=resultData.getData();
                try {
                    Bitmap bitmap= getBitmapFromUri(uri);



                    iview.setImageBitmap(bitmap);
                }
                catch (IOException e){
                    e.printStackTrace();
                }
            }
        }
    }
    private Bitmap getBitmapFromUri(Uri uri) throws IOException{
        ParcelFileDescriptor parcelFileDescriptor = getContentResolver().openFileDescriptor(uri,"r");
        FileDescriptor fileDescriptor= parcelFileDescriptor.getFileDescriptor();
        Bitmap bitmap = BitmapFactory.decodeFileDescriptor(fileDescriptor);

        parcelFileDescriptor.close();
        return bitmap;
    }
}


What I have tried:

create bitmap method I have tried and try to write text by canvas.drawText()method but it totally replace imageview by text.also used touch event but not knows where to use it.
Posted

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900