2016-07-04 78 views
0

我使用此代码绘制在Android

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.imageView); 
imageView.setImageBitmap(BitmapFactory.decodeFile(picturePath));` 

是工作,并显示在imageview的知情同意加载PIC不是我要画上一个圆圈,保存,我可以使用此代码绘制

BitmapFactory.Options myOptions = new BitmapFactory.Options(); 
myOptions.inDither = true; 
myOptions.inScaled = false; 
myOptions.inPreferredConfig = Bitmap.Config.ARGB_8888;// important 
myOptions.inPurgeable = true; 
Bitmap bitmap = BitmapFactory.decodeResource(getResources(),R.drawable.ic_luncher); 
Paint paint = new Paint(); 
paint.setAntiAlias(true); 
paint.setColor(Color.BLUE); 

Bitmap workingBitmap = Bitmap.createBitmap(bitmap); 
Bitmap mutableBitmap = workingBitmap.copy(Bitmap.Config.ARGB_8888, true); 


Canvas canvas = new Canvas(mutableBitmap); 
canvas.drawCircle(60, 50, 25, paint); 

ImageView imageView = (ImageView)findViewById(R.id.imageView); 
imageView.setAdjustViewBounds(true); 
imageView.setImageBitmap(mutableBitmap);` 

但我不能画,因为它在位图的资源上设置'ic_luncher'。 所以用户不能画上载图片,我应该代替哪些代码

Bitmap bitmap = BitmapFactory.decodeResource(getResources(),R.drawable.ic_luncher);

回答

0

不是使用Bitmap.copy,而是尝试通过createBitmap创建一个相同大小的新位图,然后将启动器图标绘制到这个新的位图上。然后你可以在上面画图。