2012-03-15 36 views
1

我有两个Bitmap [](例如“BitM1”和BitM2) 需要从BitM2 [0],BitM1 [1]切割BitM1 [0]从BitM2 [1](使用Xfermode mode.xor)...等Android:如何从位图[25]切割位图[25]

Bitmap[] vk = new Bitmap[25]; 
int k=0; 
for (v=0;v<25;v++) 
{ 
    Bitmap bitmap2 = BitM1[v]; 
     Bitmap bitmap1 = BitM2[v]; 
     vk[k]=Bitmap.createBitmap(bitmap2.getWidth(), bitmap2.getHeight(), bitmap2.getConfig()); 
    Canvas canvas = new Canvas(vk[k]); 
     Paint paint = new Paint(); 
     paint.setFilterBitmap(false); 

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

} 

imgv3.setImageBitmap(vk[5]); 

不行...崩溃...

+0

什么是崩溃日志? – 2012-03-15 11:28:20

+0

崩溃日志会很好,所以我们可以看到第一个错误 – Bigflow 2012-03-15 11:37:12

回答

2

你永远不会改变,K值在上面的代码,所以您始终将位置vk [0]放置新的位图。因此当你试图获得vk [5]时,它没有被定义。咚......崩溃!

+0

是的)我看到)添加“for(k = 0; k <25)”和“k ++;”...现在全部正确。 – user868395 2012-03-16 00:16:34