Как рисовать или писать текст от руки на изображении, выбранном из галереи в 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 использовал сенсорное событие, но не знает, где его использовать.