问题标签 [alpha-transparency]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
1216 浏览

opengl - OpenGL:为什么在复制纹理时将 alpha 通道设置为 255?

我想使用 OpenGL 移动和旋转透明 BGRA 图像(文本覆盖)。这是我使用的代码片段:

但是无论我在 glTexImage2D 中尝试什么,我的透明黑色图像都会变成完全不透明的黑色图像。输入 BGRA 图像包含字节:0, 0, 0, 0, 0 .... 旋转后,输出图像包含 0, 0, 0, 255, 0, 0, 0, 255, 0.... A一直设置为255,我不明白为什么。

0 投票
1 回答
1998 浏览

matlab - MATLAB:不同补丁对象的不同alpha

好的,所以该patch函数可以让我们绘制多个多边形,例如

其中XY是 m×n 矩阵。这将绘制具有 m 个顶点的 n 个多边形。

但是,如果我希望这 n 个多边形中的每一个都具有唯一的 alpha 透明度值呢?

文档把我弄糊涂了。我不能使用for循环,因为我需要非常快速地绘制许多补丁对象。有人可以提供一个代码示例吗?谢谢大家。

0 投票
1 回答
443 浏览

php - php中的imagecopyresampled - 预乘alpha问题

对于使用 alpha 值的缓冲区,我对 imagecopyresampled 有疑问。显然,该算法在过滤之前预乘了像素的 alpha 值,这会导致对象周围出现黑色边框。

重现步骤:

  • 拍摄一张在 RGB 部分完全是白色的图像,并且在 Alpha 部分的黑色背景上有一个(抗锯齿!!)白色圆圈(用一个圆圈,而不是一个正方形!)白色和全黑像素,以及由于抗锯齿在圆的边界上的一些渐变像素 - 这意味着输入图像没有预乘 - 它是直的/无遮罩的,因为图像的 RGB 部分是完全白色的)。

  • 使用 imagecopyresampled 将图像缩小一半

  • 在全白图像上合成结果

我所期望的:完全白色的图像

我得到了什么:圆圈轮廓周围的灰色边框

我很确定这是由于缩小算法中的预乘 alpha(该算法将像素 alpha 值与其 rgb 值相乘以计算新的 rgb 值 - 因此白色像素将变为灰色)

有谁知道这个的workarround?

0 投票
2 回答
1632 浏览

qt - 透明闪屏图片Qt

我为我的应用程序创建了一个 splash-screen.png。不幸的是,所有应该透明的部分都被绘制成一个矩形。为了能够更好地理解我的意思,一个小例子描述:(我没有足够的声誉将图片放入论坛)

假设我有一个 png 作为显示球体的闪屏。球体应该代表它自己,但 Qt 在它周围画了一个矩形,这破坏了所有的大气层。

如果您知道是否有另一种可能性来保持对象周围的透明度,将不胜感激。

谢谢

0 投票
3 回答
2837 浏览

c++ - 在 OpenGL 中使用具有 Alpha 的纹理渲染 3D 模型

因此,我试图找出在 OpenGL 中渲染 3D 模型的最佳方法,因为它的某些纹理具有 alpha 通道。

当我启用深度缓冲区并开始绘制 3D 模型中的所有三角形时,如果它绘制了一个位于模型中另一个三角形前面的三角形,它在到达它时根本不会渲染后三角形。问题是当前面的三角形具有 alpha 透明度时,应该可以看到后面的三角形,但后面的三角形仍然没有渲染。

禁用深度缓冲区消除了这个问题,但会产生一个明显的问题,即如果三角形不透明,那么如果在之后渲染,它仍然会在其后面渲染三角形。

例如,我正在尝试渲染一棵松树,它基本上是一些相互堆叠的具有透明底座的锥体。下图显示了启用深度缓冲区时出现的问题:

启用深度缓冲区

您可以看到仍然可以看到透明三角形的轮廓。

下图显示了禁用深度缓冲区时的样子。

深度缓冲区已禁用

在这里,您可以看到树后面的一些三角形是如何在树的其余部分前面渲染的。

任何想法如何解决这个问题,并正确渲染松树?

PS我正在使用着色器来渲染一切。

0 投票
1 回答
2034 浏览

android - 带有 alpha 通道的 android 原生视频播放

android 是否支持任何原生支持的视频格式的 alpha 通道,或者是否有人知道它是否正在筹备中?

可能在 3.0 中的 android 中的 h.264 中是可能的?

0 投票
0 回答
314 浏览

internet-explorer-8 - IE8 中 PNG 24 的纯色背景

我进行了搜索,虽然有很多类似的问题,但也有很多不同的解决方案,而且我无法确定哪一个是针对我的问题的,因为它与其他的不太一样。

该网站是http://www.thewildflowergroup.com/

我在 IE8 中也遇到了 PNG alpha 透明度问题,但我没有在边缘看到黑色斑点或伪影。顶部 PNG 的背景只是纯白色。我正在使用http://code.google.com/p/ie7-js/此处找到的 IE9.js 版本来处理透明胶片,它似乎正在其他页面上工作。但是对于那个顶部,我也在使用 Jquery Cycle。

我已经将图像包装在 div 中,希望通过淡化 div,图像会恢复透明,但没有爱。有什么建议吗?

0 投票
2 回答
1270 浏览

android - 图像周围有白色边框

在不同背景上使用时如何去除图像周围的白色边框?

在此处输入图像描述

http://groups.google.com/group/android-developers/browse_thread/thread/f4ef24e03431bbe4/ce7f19488fd0388a?lnk=gst&q=Crop+Image+View+that+fits+to+the+image#ce7f19488fd0388a

0 投票
1 回答
297 浏览

php - png 图像的透明度问题

我有这张图片: 白色背景的原始图像

我使用 php5 和 gd2 库来实现透明背景,但结果不是我所期望的(您需要深色背景才能看到差异):透明背景

这是我的代码:

任何帮助,将不胜感激!:)

0 投票
2 回答
962 浏览

jquery - ie8 中嵌套元素的 jQuery/css 淡入淡出问题(仅限)

可能重复:
在 IE8 jQuery 循环中消失的图像

我正在淡入和淡出一组嵌套元素,以显示页面的背景图像。嵌套的 div/article 元素已被赋予 alpha 通道不透明度,并且在 IE 中被半透明 png 覆盖。

FF、Chrome、ie6(是的,ie6 !!!)、ie7 和 ie9 中的淡入和淡出工作正常,但遗憾的是在 ie8 中不行。

HTML:

CSS:

jQuery:

我也试过这个jQuery:

上述的任何组合都将适用于除 ie8 之外的所有浏览器。当您尝试将淡出或淡入功能应用于包装父元素时,所发生的只是有一个暂停(淡出动画设置的时间长度),然后您想要淡出的元素立即消失,没有淡化效果。

我已经为此工作了几天,并用尽谷歌的解决方案和可能的修复/解决方法,甚至没有什么能接近。

有人有想法么?

问候,马特。

编辑:

我在调试这个问题方面取得了一些进展。

我删除了对半透明背景的所有引用,并尝试应用 jQuery 淡入淡出动画来检查背景是否没有掩盖真正的问题。

有趣的是,即使没有应用半透明背景(也测试了完全不透明的背景),淡入淡出动画仍然不起作用。完全一样的症状。所以我快速搜索并在 jQuery Bug Tracker 上找到了这个:fade not working on inner divs in ie8

根据此页面上的评论,我申请filter: inherit;了子容器,这有所作为。现在内容(文本和图像)淡入淡出,但背景(不透明或(半)透明)不是。它在延迟期间仍然保持不变,然后突然变为不可见。

有人对如何进一步解决此问题有任何想法吗?

编辑:

在ie9中测试,它工作得很好。此错误仅与 ie8 相关。

谢谢,马特。