Android中绘图半透明drawable,但是黑边

发布于 2024-10-12 23:55:47 字数 338 浏览 4 评论 0原文

我有下面的图像(图像中的白色气泡)可以在画布上绘制。当我使用代码绘制图像时......,图像的边缘变得黑色圆圈和圆形......边缘的alpha是0x00。

image.setBounds(左、上、右、下);

图像.draw(画布);

预期 alt text 当我绘制 alt text

我怎样才能去掉黑圈???是不是图错了??或者有人知道线索,请给我线索..提前致谢..

^^

I have the below image (the white bubble in the image) to draw in a canvas. When I draw the image using the code.., the image 's edge is getting black circle and rounded .. the edge's alpha is 0x00.

image.setBounds(left, top, right, bottom);

image.draw(canvas);

Expected alt text When I draw alt text

How could I remove the black circle??? Is the image wrong?? or Anyone know the clue, Please give me a clue.. Thanks in advance..

^^

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

阳光①夏 2024-10-19 23:55:47

您的预期输出是从图像编辑器(Photoshop)获取的吗?如果是,这将是 32 位混合的结果,而 Android 上的 alpha 混合看起来是以 16 位执行的,因此会出现条带在背景中,以及图像周围的光环。

假设您使用的是 Bitmap 对象,您可以通过调用 bitmap.getConfig() 来查找其颜色深度(从 Bitmap.配置枚举)。

编辑:还有一件事可能会导致光晕 - 你说精灵的边缘的 alpha 为 0,但是 RGB 值又如何呢?确保 ARGB 设置为全白 (ARGB 0x00ffffff) 而不是黑色 (ARGB 0x00000000)。

Is your expected output taken from an image editor (Photoshop?) If so, that'll be the result of a 32-bit blend, whereas it looks like the alpha-blend on Android is being performed in 16-bits, hence the banding in the background, and halo around your image.

Presuming you're using Bitmap objects, you can check whether this is the case by calling bitmap.getConfig() to find their colour depth (from the Bitmap.Config enum).

Edit: One more thing that may be causing the halo - you say the edges of your sprite have an alpha of 0, but what about the RGB values? Make sure the ARGB is set to full-white (ARGB 0x00ffffff) rather than black (ARGB 0x00000000).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文