Criar gradiente alfa na imagem para criar efeito de desvanecimento

Como posso aplicar um gradiente alfa em uma imagem para que ela desapareça linearmente? No momento, estou criando retângulos de largura de unidade e usando-o para desenhar o bitmap com um objeto de pintura com o valor alfa sendo alterado em um loop. Eu só fiz isso porque não conseguia pensar em mais nada. Então, um modo mais arrumado seria melhor.

Bitmap bitmap = BitmapFactory.decodeStream(is);
Bitmap bmp = Bitmap.createScaledBitmap(bitmap, 100, 151, true));
bitmap.recycle();

Rect Rect1 = new Rect(0, 0, 100, 100);
Rect Rect2 = new Rect(100, 0, 101, 100);

Paint paint = new Paint();

canvas.drawBitmap(bmp, Rect1, Rect1, null);
while (paint.getAlpha() != 0) {
    paint.setAlpha(paint.getAlpha() - 5);
    canvas.drawBitmap(bmp, Rect2, Rect2, paint);
    Rect2.set(Rect2.left + 1, Rect2.top, Rect2.right + 1, Rect2.bottom);
}

Algo assim

P.S. Eu estou tentando fazer isso para um papel de parede ao vivo.