图像周围的白色边框

时间:2012-04-10 19:41:09

标签: android android-imageview alphablending alpha-transparency

2 个答案:

答案 0 :(得分:0)

如果您尝试将其用作主屏幕背景,然后将其布局重量和高度设置为“fill_parent”,则背景可以是您想要它的任何图像,就像您所做的SRC调用一样。这样可以让图像仅填充屏幕,并允许您使用SCR命令在屏幕上进行写入。如果你给我们更多的信息,我们可以提供更多帮助。

答案 1 :(得分:0)

好的,我已经看过图像,你希望ImageView与你的图像具有相同形状的 ,因为你不想看到图像周围的白色边框。

好吧,简而言之,我认为可能 AFAIK。 ImageView是一个矩形视图,要求高度和宽度。

但是,我建议您使用 alpha-masking (Alpha混合的子集,谷歌了解更多信息),而不是尝试做不可能的事情。

一个小理论:取决于位图中每个像素的alpha位(半透明位),确定该像素与重写像素的混合程度。考虑到极值,如果alpha为255,则使用覆盖像素而不是覆盖的像素(完全不透明,常规术语);如果alpha为0,则忽略覆盖像素(透明)。对于其中的其他alpha:有混合。

在你的情况下,你 必须使边界的alpha 为零,以实现完全混合。概述步骤:。

  1. 要使用的drawable 不能是JPEG(JPEG不会存储每个像素的alpha值)。转到PNG

    2.你需要预先以这种方式创建并保持你的位图可绘制(使用google进行alpha混合PNG),使边框的alpha值为零(使用像Paint.NET这样的软件)。

  2. 如果动态创建图像,则需要使用混合等式(有关Porter和Duff读取材料的详细信息)。

    例如,这是具有透明像素的PNG图像,其具有除字母表本身之外的α0 。 original PNG with alpha blending

  3. aplha blended PNG on colored background

    以上是活动彩色背景上的alpha混合PNG。我希望这是你真正想要实现的目标,我的答案实际上很有用。