IllegalArgumentException: width e height devem ser> 0 ao carregar o Bitmap do View

Eu estou tentando desenhar em um ImageViewTouch, uma biblioteca que permite o zoom pinch. Eu sou capaz de desenhar sobre a imagem usando o Canvas, mas quando eu zoom a imagem, o desenho desaparece.

Para isso, estou tentando converter a exibição em um bitmap e definir oImageBitmap para essa mesma exibição. Aqui está o código:

mImage.setDrawPath(true);
mImage.setImageBitmap(loadBitmapFromView(mImage)); 

public static Bitmap loadBitmapFromView(View v) {
        Bitmap b = Bitmap.createBitmap( v.getWidth(), v.getHeight(), Bitmap.Config.ARGB_8888);                
        Canvas c = new Canvas(b);
        v.layout(0, 0, v.getWidth(), v.getHeight());
        v.draw(c);
        return b;
}

Quando faço isso, recebo o seguinte erro de log:

07-11 21:13:41.567: E/AndroidRuntime(20056): java.lang.IllegalArgumentException: width and height must be > 0
07-11 21:13:41.567: E/AndroidRuntime(20056):    at android.graphics.Bitmap.createBitmap(Bitmap.java:638)
07-11 21:13:41.567: E/AndroidRuntime(20056):    at android.graphics.Bitmap.createBitmap(Bitmap.java:620)

Se eu remover oloadBitmapFromView chamar o desenho normalmente aparece sobre a imagem. Quando tento fazer qualquer interação com a imagem (como aumentar ou diminuir o zoom), o desenho desaparece, permanecendo apenas a imagem de fundo, que é uma imagem.

--- EDIT ---

Aqui está mais algum código colocado após oloadBitmapFromView ligar. O caso é: Eu tenho um ouvinte de grupo de rádio e quando eu marquei algum botão de rádio, eu tenho que carregar a imagem e desenhar alguns possíveis desenhos sobre ela .. então eu estou tentando converter tudo (a imagem e os desenhos) em apenas um bitmap.

Aqui está a parte mais difícil do código:

bitmap = BitmapUtils.decodeSampledBitmapFromResource(root + DefinesAndroid.CAMINHO_SHOPPINGS_SDCARD + nomeImagemAtual, size.x, size.y);
mImage.setImageBitmap(bitmap);

Depois disso, desenho tudo o que tenho para desenhar e tento converter a exibição para bitmap usando o método loadImageBitmap que mostrei.

adecodeSampledBitmapFromResource método que eu tenho a partir deste link em desenvolvedores do Androidhttp://developer.android.com/training/displaying-bitmaps/load-bitmap.html

questionAnswers(5)

yourAnswerToTheQuestion