如何从其他位图中剪切一个位图

问题描述:

我需要从位图2中剪切Bitmap1 .. 例如,我有Bitmap1(从资源drawable中解码)和Bitmap2(从Resources中解码也可绘制)。如何从其他位图中剪切一个位图

Bitmap1:

| | 
> < 
| | 

Bitmap2:

|xxx| 
|xxx| 
|xxx| 

我需要的结果是:

|xxx| 
>x< 
|xxx| 

有人能给我的示例代码?

Android。

你可以像这样同时加载的位图和使用PorterDuffXfermodeDST_IN掩盖“Bitmap2”,排序的:

Bitmap bitmap2 = BitmapFactory.decodeResource(getResources(), R.drawable.bitmap2); 
Bitmap bitmap1 = BitmapFactory.decodeResource(getResources(), R.drawable.bitmap1); 
Bitmap bitmap2MaskedByBitmap1 = Bitmap.createBitmap(bitmap2.getWidth(), bitmap2.getHeight(), bitmap2.getConfig()); 
Canvas canvas = new Canvas(bitmap2MaskedByBitmap1); 

Paint paint = new Paint(); 
paint.setFilterBitmap(false); 

canvas.drawBitmap(bitmap2, 0, 0, paint); 
paint.setXfermode(new PorterDuffXfermode(Mode.DST_IN)); 
canvas.drawBitmap(bitmap1, 0, 0, paint); 
bitmap2.recycle(); 
bitmap1.recycle(); 

// bitmap2MaskedByBitmap1 should now contain the desired image 
// as long as your Bitmap1 mask isn't sh-t. 
+0

!大!谢谢!但现在我有黑色背景的图像...我可以用空(alpha 0)背景来做到吗? – user868395 2012-03-12 20:37:07

+1

ok)任务完成)Mode.XOR – user868395 2012-03-12 21:22:47