2

描画可能なフォルダーに透明な画像があり、インテントを使用して送信しようとしています。画像の読み込みと送信は正常に行われますが、透明ではなくなり、黒い背景が付着しています。こんな感じで画像を送ります

Intent localIntent = new Intent("android.intent.action.SEND");      
localIntent.putExtra(Intent.EXTRA_STREAM,         
Uri.parse("android.resource://com.t4t.stickerwhatsapp/" + videoDetails.get(pos)));
localIntent.setType("image/*");
startActivityForResult(localIntent,111);

videoDetails.get(pos) は、drawable フォルダー内の画像の ID です。画像に黒い背景が追加されるのはなぜですか?

編集:私の電話は、送信前に追加するコードではなく、受信したすべての透明な画像に黒い背景を追加していることがわかりました。

4

2 に答える 2

0

私の電話は、送信前に追加するコードではなく、受信したすべての透明な画像に黒い背景を追加していることがわかりました。

于 2013-11-07T04:51:36.253 に答える
0

getResources() から利用可能なリソースを使用して、リソースからドローアブルを取得する必要があります。

私はあなたが使用することをお勧めします:

Drawable drawable = getResources().getDrawable(R.drawable.image);

画像の ID は変更される可能性があり、それを監視することはお勧めできません。これを行う必要がある場合は、代わりに次を使用できます。

getResources().getIdentifier("image", "drawable","package_name");

画像がまだ透明でない場合は、Color.Transparent を使用してドローアブルの背景色を設定してみてください。特に相手側でドローアブルが処理されている場合は、多くの問題が発生する可能性があります。

于 2013-11-07T04:25:55.713 に答える