0

ここにある ViewPagerParallax から背景を保存しようとしています:リンク

移動すると背景が変わるので、この背景の「一部」を別のアクティビティに渡したいと思います。

あるアクティビティから別のアクティビティに渡すには、次のことができます。

 Intent intent = new Intent(context, Activity2.class);
            ByteArrayOutputStream stream = new ByteArrayOutputStream();
            //Bitmap bmp = pager.getSavedBitmap().getBitmap();
            Bitmap bmp = pager.getBitmap();
            bmp.compress(Bitmap.CompressFormat.PNG, 100, stream);
            byte[] byteArray = stream.toByteArray();
            intent.putExtra("image",byteArray);
            context.startActivity(intent);

    byte[] byteArray = getIntent().getByteArrayExtra("image");
    Bitmap bmp = BitmapFactory.decodeByteArray(byteArray, 0, byteArray.length);
    @SuppressWarnings("deprecation")
    Drawable d = new BitmapDrawable(bmp);
    layout.setBackground(d);

しかし、必要な背景の一部を取得するのは難しいことを知っています。次のように onDraw メソッドから取得しようとしています:

 canvas.drawBitmap(saved_bitmap, src, dst, null);
        if(canvas != null){         
            my_bitmap = new BitmapDrawable();
            my_bitmap.draw(canvas);
        }

しかし、 getBitmap を使用すると:

public Bitmap getBitmap(){
    return my_bitmap.getBitmap();
}

画像は、最初のアクティビティのように拡大縮小されていません。

4

1 に答える 1

0

この投稿にも同様の問題はありませんか?Android キャンバスをビットマップに保存

多分それは役立つかもしれません。

于 2013-06-27T09:55:29.360 に答える