【问题标题】:Trying to use transparent image but a black background is being added尝试使用透明图像但正在添加黑色背景
【发布时间】:2013-11-18 14:42:19
【问题描述】:

我的可绘制文件夹中有一个透明图像,我正在尝试使用 Intent 发送它。图像加载和发送都很好,但它不再透明并且附有黑色背景。这就是我发送图像的方式

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) 是可绘制文件夹中图像的 id。为什么会在我的图像中添加黑色背景?

编辑:事实证明我的手机正在将黑色背景添加到我收到的所有透明图像中,而不是在发送之前添加它的代码。

【问题讨论】:

  • setType 为 image/png 并尝试
  • 我真的希望这能奏效,哈哈,但没有骰子,它仍然有黑色背景。
  • 可能是收到图片后,可以尝试再次将图片背景设置为透明。
  • 唯一的问题是我并没有真正得到图像,我只是获取图像的路径,然后将其发送到意图。意图是抓取图像并发送它。
  • 我可能是个白痴...发送到我的手机时,我看到一个黑色的背景。发送到我的计算机电子邮件时,它看起来不错。我想知道它是否以透明方式发送,但我的设备出于某种原因正在添加 bg。刚刚确认这是正在发生的事情。

标签: android background transparency


【解决方案1】:

您应该使用 getResources() 提供的资源从资源中获取可绘制对象。

我建议你使用:

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

图像的 id 可能会发生变化,并且密切关注它是一个坏主意。如果你必须这样做,你可以使用:

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

如果图像仍然不透明,我可能会尝试使用 Color.Transparent 设置可绘制对象的背景颜色。这可能是许多问题,尤其是在另一端正在处理可绘制对象时。

【讨论】:

  • 一旦我将它转换为位图,我该如何发送它?
【解决方案2】:

事实证明,我的手机正在将黑色背景添加到我收到的所有透明图像中,而不是在发送之前添加它的代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-26
    • 1970-01-01
    • 2020-08-13
    • 1970-01-01
    • 1970-01-01
    • 2017-04-24
    • 1970-01-01
    相关资源
    最近更新 更多