2017-02-24 79 views
0

我正在做一个应用程序,我将图像加载到ImageView中,之后在ImageView上绘制多个50x50像素的方块。这里就是我说的:在画布上绘图以编程方式使图像移动

enter image description here

enter image description here

,我使用,使广场的代码是这一个:

private void splitImage() { 


    Bitmap aux = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); 
    Canvas c = new Canvas(aux); 
    imgView.draw(c); 

    Paint p = new Paint(); 
    p.setColor(Color.BLACK); 

     for (int xCoord = 0; xCoord < width; xCoord += 50) { 

      c.drawLine(xCoord, 0, xCoord, height, p); 

     } 

    for (int yCoord = 0; yCoord < height; yCoord+=50){ 

     c.drawLine(0, yCoord, width, yCoord, p); 

    } 

    imgView.setImageResource(0); 

    imgView.setImageBitmap(aux); 

} 

你以前看这个问题?

+0

什么是宽度和高度?原来的'Bitmap'的大小?如果是这样,而不是'imgView.draw(c);'use'c.drawBitmap' – pskink

+0

@pskink宽度和高度是图像在ImageView中显示的尺寸(以像素为单位)。我会试着用drawBitmap。谢谢 ! –

+0

似乎如果我使用c.drawBitmap它不显示任何东西 –

回答

0

在@pskink的帮助下,问题解决了。而不是imgView.draw(c)我使用c.drawBitmap(bm,0,0,p);