问题标签 [compositing]

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 投票
2 回答
1160 浏览

java - BufferedImage 的透明区域正在写出黑色

我知道这与合成有关,但我不知道是什么。在前面的代码部分中,将 BufferedImage 中的特定像素列表设置为透明黑色:

然后我尝试写出图像:

现在,在我尝试将图像绘制到上面之前,我知道“out”已经很清楚了。我没有得到的是我的合成出了什么问题。我不是透明的,而是全黑的。

使用的所有缓冲图像都是 INT_ARGB。

编辑 - 这已经解决了。图像源来自 ImageIO.read,返回的 BufferedImage 不支持 alpha。快速的读取后转换让其余代码顺利运行。

0 投票
1 回答
214 浏览

svg - 如何使用 SVG 蒙版制作 Luma 蒙版?

我想在 SVG 中制作一个 Luma-Mask (Matte)。换句话说,我想将一个图层蒙版到不同图层的亮度通道(从 RGB 通道获取)。

如何才能做到这一点?

谢谢

0 投票
2 回答
1329 浏览

python - Nuke 中的 Python:除了 StopIteration

基本上我目前正在尝试做的是使用 python 在 Nuke 中设置一个脚本,该脚本获取用户选择的节点并向它们添加 shuffle 节点,以实现简单的合成工作流程。但是,我坚持让 Nuke 将随机播放添加到选定的节点上。选择时它适用于 1 个节点,但如果选择了多个节点,则它仅适用于选择的第一个节点。我问了一个朋友,她说试试while循环,所以代码如下:

这一切都很好,直到除了部分。我在没有异常的情况下运行了脚本,它冻结了 Nuke,这表明它正在无限运行,但我需要它停止。Nuke 告诉我 except 是无效的语法。有谁知道我该如何解决这个问题或为我正在尝试的流程创建一个更好的解决方法?

0 投票
1 回答
890 浏览

iphone - 如何在 iOS 中实时嵌入文本(标题)视频?

我想在录制的视频中嵌入文本,然后将其保存在相机胶卷中。当此视频在任何其他设备上播放时,此文本应显示

0 投票
0 回答
168 浏览

java - 如何在Android App中实时在视频底部嵌入文本

我想在录制的视频中嵌入文本,然后将其保存在照片库中。在任何其他设备上播放此视频时,应显示此文本。

0 投票
1 回答
1289 浏览

python - 用 python 和 xlib 编写一个合成窗口管理器

我正在编写一个简单的窗口管理器作为一个爱好项目,我选择了 python 和 xlib 来实现它。我想要一些花哨的效果,比如窗口从左右滑动,从我能够挖掘的内容来看,最好的方法是使用复合扩展将窗口渲染到屏幕外缓冲区,并且然后操纵这些缓冲区并根据我的需要绘制它们。

但是,由于缺少 python-xlib 文档,我没有办法做到这一点,也没有找到任何将 python-xlib 与复合扩展一起使用的示例。我在哪里可以找到这些信息,有没有人将 python-xlib 与复合材料一起使用?

我想我总是可以切换到似乎支持 python 复合的 xcb,但我宁愿不必重写整个事情并找出一个不同的 API,而这有点缺乏 python 文档。

总而言之,我的问题是:

  • 有没有办法将复合材料与 python-xlib 一起使用?
  • 为此切换到 xcb 会更好吗?

欢迎任何其他建议和建议。

0 投票
0 回答
666 浏览

ios - 用复合 CALayer 遮罩 CALayer?

我有一个主层,它有一个遮罩层。

遮罩层也有子层(在不同的遮罩形状中改变布局)。

但是遮罩子层对实际遮罩没有影响。:(

我可以用遮罩层做些什么吗?我想在动画中使用它,所以性能也是一个重点。


蒙版层一开始是全白的,然后我放入较小的黑色/灰度内容,我只想看看结果。我可以用灰度图像屏蔽 CALayer 吗?


0 投票
1 回答
409 浏览

video - 如何判断FFmpeg解码的视频帧中的颜色是否预乘了alpha?

avcodec_decode_video2()当我使用 FFmpeg ( , )解码视频帧时sws_scale(),对于某些视频(例如 ProRes4444),我得到的颜色预乘了 alpha,而对于其他视频(例如 QuickTime PNG),我得到的颜色没有预乘通过阿尔法。

如何判断颜色是否预乘?或者,我如何告诉 FFmpeg 始终提供预乘或未预乘(“直 alpha”)颜色?

0 投票
3 回答
1424 浏览

html - 在具有不同不透明度级别的 HTML 画布上绘制描边

问题

我正在尝试创建一个带有不透明度抖动的画笔工具(如在 Photoshop 中)。具体问题是:

在具有不同不透明度级别的 HTML 画布上绘制笔触。不透明度较高的像素应替换不透明度较低的像素;否则,像素保持不变。

在这个过程中不应该失去透明度。笔画在单独的画布上绘制,然后与背景画布合并。

结果应如下所示。所有代码和相应的输出都可以在这里找到(JSFiddle)。

因为你不能用不同的不透明度来描画一条路径(如果我错了,请纠正我)我的代码为每个段创建了一个具有不同不透明度的路径。

非解决方案 1,使用“变暗”混合模式

使用不透明像素时,变暗混合模式会产生所需的结果,但似乎不适用于透明度。失去透明度是一个交易破坏者。

使用不透明像素:

在此处输入图像描述

使用透明像素:

在此处输入图像描述

非解决方案 2,使用 'destination-out' 合成运算符

在绘制一个新的笔画段之前,使用“destination-out”合成操作符从下面的像素中减去它的不透明度。然后使用“source-over”添加新的笔画段。这几乎可以工作,但有点偏离。

在此处输入图像描述

寻找解决方案

我想避免手动操作每个像素(我过去做过)。我错过了一些明显的东西吗?这个问题有简单的解决方案吗?

0 投票
1 回答
155 浏览

java - JPanels在重叠期间闪烁

我正在尝试制作一个在屏幕顶部随机显示 JPanel 的程序。这些 JPanel 包含一个笑脸的 PNG BufferedImage(通过覆盖 PaintComponent)。不幸的是,每当我运行程序并且面板被绘制在有任何重叠的位置时,图像就会开始闪烁(似乎试图同时显示自己而不是合成)。我做了一些研究并试图解决这个问题,但没有奏效。我的代码如下:

和我的另一堂课: