问题标签 [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 投票
1 回答
739 浏览

drag-and-drop - 使用 GTK+ 拖放时,我可以使用具有 RGBA 透明度的图标吗?

我正在为现有的 Mono/C#/GTK# 应用程序添加拖放支持。我想知道当我开始拖动对象时是否可以在鼠标指针下方出现的图标上使用 RGBA 透明度。

到目前为止,我意识到以下几点:

  • 我可以通过调用该Gtk.Drag.SourceSetIconPixbuf()方法来设置有问题的位图。但是,Alpha 透明度并不好用:不完全不透明的像素会以这种方式获得 100% 透明。
  • 我还尝试调用RenderPixmapAndMask()GdkPixbuf以便可以使用Gtk.Drag.SourceSetIcon()我的Screen. 它也不起作用:每当我开始拖动时,都会出现以下错误:

    [Gdk] IA__gdk_window_set_back_pixmap: assertion 'pixmap == NULL || gdk_drawable_get_depth (window) == gdk_drawable_get_depth (pixmap)' failed.

    这样,像素图甚至不会被复制,只有一个白色的形状(可能由 的mask参数设置SetSourceIcon())在拖动时显示。

我想问是否有办法让这些图标具有 alpha 透明度,尽管我没有这样做。如果不可能,讨论缺少此功能的原因的答案也会有所帮助。谢谢你。

(合成当然是在我的桌面上启用的(Ubuntu/10.10,Compiz/0.8.6-0ubuntu9)。)

0 投票
2 回答
2622 浏览

css - 过滤器:progid:DXImageTransform 未通过 W3C CSS 验证

我在 CSS 中使用以下三行来启用“幻灯片”之间的平滑过渡,但第 1 行未通过 W3C CSS 验证。

有没有办法重新制定相同的意图(通过 alpha 混合平滑过渡)但使用不会失败验证的方法?

0 投票
1 回答
218 浏览

python - 为 PNGCanvas 图像添加透明度

我一直在玩PNGCanvas,我想不通的一件事是如何为图像添加透明度。我一直在尝试改变 alpha 通道值,但它只调整颜色的强度。我是在使用这个库找到错误的树,还是有希望?

0 投票
2 回答
1576 浏览

opengl - 具有 32 位 RGBA 纹理的 glBlendFunc()

我有一个半透明的纹理,在不同的位置具有不同的不透明度。我有主纹理位图和蒙版位图。当程序执行时,掩码位图中的 alpha 值被加载到主纹理位图的 alpha 值中。我想要透明的区域具有 255 alpha 的值,而我想要保持完全不透明的区域具有 0 alpha 的值。中间透明度也有中间值。

我尝试了各种 glBlendFunc() 设置,但它要么完全不可见,要么作用于源纹理的 RGB 颜色。

0 投票
3 回答
6661 浏览

c# - 在 C# 中使用本机 HBitmap,同时保留 Alpha 通道/透明度

假设我从本机 Windows 函数中获得了 HBITMAP 对象/句柄。我可以使用Bitmap.FromHbitmap(nativeHBitmap)将其转换为托管位图,但如果本机图像具有透明度信息(alpha 通道),则此转换会丢失它。

Stack Overflow 上有几个关于这个问题的问题。使用这个问题的第一个答案(如何使用 GDI+ 绘制 ARGB 位图?)中的信息,我编写了一段我尝试过的代码并且它可以工作。

它基本上使用GetObjectBITMAP结构获取本机 HBitmap 的宽度、高度和指向像素数据位置的指针,然后调用托管的 Bitmap 构造函数:

据我了解(如果我错了,请纠正我),这不会将实际像素数据从本机 HBitmap 复制到托管位图,它只是将托管位图指向来自本机 HBitmap 的像素数据。

而且我不会在另一个图形(DC)或另一个位图上绘制位图,以避免不必要的内存复制,特别是对于大位图。

我可以简单地将这个位图分配给 PictureBox 控件或 Form BackgroundImage 属性。它工作正常,位图正确显示,使用透明度。

当我不再使用位图时,我确保 BackgroundImage 属性不再指向该位图,并且我同时处置托管位图和本机 HBitmap。

问题:你能告诉我这个推理和代码是否正确。我希望我不会得到一些意想不到的行为或错误。我希望我能正确释放所有内存和对象。

0 投票
1 回答
769 浏览

vb.net - Visual Studio 和 alpha 背景

看到这个问题问了很多,但似乎找不到答案。所以就在这里。您可以使用带有 alpha 通道的 PNG 作为 VB 应用程序的背景图像吗?我不在乎改变应用矩形的形状就可以了。他们只想使用一个身后有阴影的角色作为应用程序的背景。

0 投票
2 回答
1800 浏览

java - Java Swing:在具有部分透明背景的 JTextArea 上更新文本时出现幽灵文本

所以这是交易:

我在那个里面有一个 JPanel 和一个 JTextArea。JPanel 的背景颜色具有 200 的 alpha 值,即。您可以通过 JPanel 部分看到背景图像。那不是叫部分透明吗?无论如何,然后我将 JTextArea 设置为不透明的,这样我就可以完全看透那个:

好的,所以当我点击一个按钮时,文本将像这样更改:

然后它发生了:第一个文本保留在那里,上面有一层新的部分透明薄膜。我添加的文本当然是最重要的,但在后面你可以看到前一个。当我再更改几次文本时,鬼影消失了。

屏幕截图作为链接。

翻译(截图一排有3个截图):
左一个: “问题#1 out of 8:(政治问题)?(我的评论:OK)”
中间: “问题#2 out of 8:(另一个问题,没关系)?(我的评论:鬼就在那里![和指向它的箭头])”
右侧: “问题#8 / 8:(另一个问题)?(我的评论:好的)”

如果我将此程序交换的问题数量减少,例如从 8 个减少到 3 个,例如,最后一个看起来通常很好,鬼就消失了。但有时无论我做什么,它都会坚持下去。这可能与内存不足有关(不过,我几乎无法接受)?

所以,请帮帮我,伙计们!我的最后期限是 48 小时。

PS。如果您想知道,该语言是芬兰语。我正在做一个学校项目:这将是一个可以有多种应用的比较机器:例如,如果你即将举行公开选举,新闻/媒体可能会在网络上使用这种机器来获取候选人对任何问题的意见,然后选民也可以输入他们的意见,机器计算出哪些候选人最符合选民的想法。见我的主页,即。如果您有兴趣,请访问项目博客(芬兰语)以获取更多屏幕截图。

安55i

0 投票
1 回答
84 浏览

image-manipulation - PHP GD 不适当的透明度

当我使用 php gd 库裁剪 png 图像时,它以一种奇怪的方式裁剪。因为它被部分裁剪。我认为透明度无法正常工作。

这是我的代码

0 投票
3 回答
9809 浏览

java - 在 listView android 上设置 alpha 透明度

嗨,我想为我的列表视图设置一些透明度,我已经看到了一些例子,但所有这些都不是 100% 透明的。

作为这个主题:如何使 ListView 在 android 中透明?

正如 Jacky 所提到的,设置列表视图的属性将完成这项工作。

但就我而言,我只想让它半透明,某种 alpha 50 之类的。我的目标是用户可以通过 listview 看到 UI 的背景,但也可以看到我的 listView 的背景有点透明。

我怎样才能做到这一点?

谢谢。

0 投票
2 回答
1688 浏览

image-processing - 需要帮助了解 Alpha 通道

我有一个像素的 RGB 元组,我们称之为 P。

(255, 0, 0) 是 Alpha 通道为 1.0 的 P 的颜色。

Alpha 通道为 0.8 时,P 的颜色变为 (255, 51, 51)。

如何获得影响 P 颜色的像素颜色?