从用户获取图像后在画布上绘图

时间:2015-03-27 15:09:37

标签: android canvas android-imageview

我想将用户图库拍摄的图像显示在画布之后进行编辑。但到现在为止我可以从用户那里获取图像。但我不知道如何通过画布显示图像 这是我的代码:

public class second extends ActionBarActivity {

    private static int RESULT_LOAD_IMAGE = 1;
    Bitmap base;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Intent i = new Intent(
                Intent.ACTION_PICK,
                android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);

        startActivityForResult(i, RESULT_LOAD_IMAGE);
    }
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

        if (requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK && null != data) {
            Uri selectedImage = data.getData();
            String[] filePathColumn = { MediaStore.Images.Media.DATA };

            Cursor cursor = getContentResolver().query(selectedImage,
                    filePathColumn, null, null, null);
            cursor.moveToFirst();

            int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
            String picturePath = cursor.getString(columnIndex);
            cursor.close();


            ImageView imageView = (ImageView) findViewById(R.id.imgView);
            imageView.setImageBitmap(BitmapFactory.decodeFile(picturePath));
        }
    }
}

我知道使用Canvas canvas= new Canvas(image)创建一个画布并按ondraw方法绘制位图。 但我仍然不知道如何将用户图库中的照片转换为画布并显示它

1 个答案:

答案 0 :(得分:0)

不应该像这样的工作:

imageView.setImage(yourImage);
imageView.notify();

sry我必须发布这个作为答案,但我没有足够的代表一个简单的评论:/