learnasucan Ответов: 0

Как рисовать или писать текст от руки на изображении, выбранном из галереи в android


На самом деле я написал код для выбора изображения из галереи,но я не знаю,как нарисовать или написать текст вручную на нем.и отредактированное изображение должно быть сохранено отдельно в sdcard.в основном я должен сделать базовое приложение paint, где холст будет моим выбранным изображением, а мое прикосновение-это ввод, чтобы нарисовать круг или что-то еще.

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;
    }
}


Что я уже пробовал:

создать метод bitmap я пробовал и пытаюсь написать текст методом canvas.drawText (), но он полностью заменяет imageview на text.also использовал сенсорное событие, но не знает, где его использовать.

0 Ответов