当前位置: 首页 > 面试题库 >

如何更改位图的不透明度?

聂宜
2023-03-14
问题内容

我有一个位图:

Bitmap bitmap = BitmapFactory.decodeFile("some/arbitrary/path/image.jpg");

但我不会将图像显示给用户。我希望Alpha为100(总共255)。如果这不可能,我可以设置透明度Bitmap吗?


问题答案:

您也可以尝试使用BitmapDrawable代替Bitmap。如果这对您有用,则取决于您使用位图的方式…

编辑

正如评论者所问的那样,他如何使用alpha存储位图,下面是一些代码:

// lets create a new empty bitmap
Bitmap newBitmap = Bitmap.createBitmap(originalBitmap.getWidth(), originalBitmap.getHeight(), Bitmap.Config.ARGB_8888);
// create a canvas where we can draw on
Canvas canvas = new Canvas(newBitmap);
// create a paint instance with alpha
Paint alphaPaint = new Paint();
alphaPaint.setAlpha(42);
// now lets draw using alphaPaint instance
canvas.drawBitmap(originalBitmap, 0, 0, alphaPaint);

// now lets store the bitmap to a file - the canvas has drawn on the newBitmap, so we can just store that one
// please add stream handling with try/catch blocks
FileOutputStream fos = new FileOutputStream(new File("/awesome/path/to/bitmap.png"));
newBitmap.compress(Bitmap.CompressFormat.PNG, 100, fos);


 类似资料:
  • 我有一个带有文本块的div元素和一个父div,我在其中设置了一个背景图像。现在我想降低背景图像的不透明度。请建议我怎么做。 提前谢谢。 编辑: 我希望通过编辑 html 内容来改变我的博客文章看待 blogger.com 的方式。html 代码如下所示: 我试图用 div 元素包围上面的整个代码,并分别设置每个 div 的不透明度,如下所示: 但它不起作用。

  • 我的任务是: 创建一个TBitmap对象 如何在Delphi XE中做到这一点?

  • #klem1,#klem2 { opacity:0.4; filter:alpha(opacity=40); /* For IE8 and earlier */ } #klem1:hover,#klem2:hover { opacity:1.0; filter:alpha(opacity=100); /* For IE8 and earlier */ } div.background { widt

  • 问题内容: 我是HTML / CSS的新手,我试图将某些文本显示为50%透明。到目前为止,我已经有了HTML来显示完全不透明的文本 但是,我不确定如何更改其不透明度。我尝试过在线查找,但是我不确定该如何处理找到的代码。 问题答案: 适用于整个元素,因此,如果对该元素具有背景,边框或其他效果,这些效果也将变为透明。如果 只 希望文本透明,请使用。 另外,转向远,远离。我们现在有CSS。

  • 我正在处理位图图像的透明部分用洋红色着色(在一些语言中,可以将颜色设置为透明)。我试图在原始位图图像中透明洋红色的像素。 我从SD卡加载位图: 将其复制到另一个位图以使其可变: 然后逐像素扫描,找到洋红色的像素,并尝试改变它们的透明度。 但是那些我希望变成透明的像素被转换成黑色。通过更改alpha,我发现最终颜色从中提到的颜色(不提及alpha)变为黑色。例如,变为白色,为灰色,而变黑。 我不知道

  • 但是,如果我先在画布上画一些其他的东西,然后尝试用透明度清除它,旧的数据仍然存在。例如: 我只看到一个巨大的红场。底部的两条线应该是“抹去”填充的红色,使其再次透明。最终,面具被绘制在另一张画布上,如下所示: