问题标签 [porter-duff]

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 投票
0 回答
1209 浏览

android - Android PorterDuff 无法按预期工作

我正在尝试使用 Android 的 PorterDuff 绘制一个阴影,该阴影只会出现在它下面有东西的地方(而不是背景图像透明的地方),我很难让它工作。我编写了以下代码来测试各种 PorterDuff.Modes,但它们似乎不像这里描述的那样工作:

https://developer.android.com/reference/android/graphics/PorterDuff.Mode.html

从那个页面,我会说我正在寻找的效果是 SRC_ATOP。

这是我正在使用的代码,下面是结果的图像:

波特达夫结果

我已经玩了几个小时了,我真的很难取得任何进展,所以任何帮助将不胜感激。先感谢您!

0 投票
0 回答
177 浏览

android - 如何在擦除其中一部分后恢复位图,同时保留其 alpha?

我正在开发一个具有 2 个功能的 android 应用程序:-

  1. 是删除(擦除)给定路径的图像的一部分,就像 Photoshop 中的橡皮擦一样。
  2. 是恢复给定路径的图像。

我已经实现了擦除部分

而且,修复功能,例如,

问题是,在修复特征中,图像的 alpha 没有被保留,并且图像是完全不透明地绘制的。我需要保留图像的 alpha。

所以,我需要知道如何在擦除图像的一部分后修复图像,同时保留它的 alpha。

0 投票
1 回答
655 浏览

android - ColorFilter 添加但忽略透明部分

在我的应用程序中,我正在尝试更改标记图像的颜色。但它并不能完全按照我想要的方式工作。

drawable 看起来像这样(如下),当我添加 ColorFilter 时,标记会获得正确的颜色并且白色保持白色,但图像的透明部分也会获得颜色。我只希望黑色改变,而白色和透明的部分必须保持这种状态。

可绘制的

0 投票
1 回答
311 浏览

ios - 使用 CIAdditionCompositing 添加纯黑色时的预期行为?

我试图了解如何CIAdditionCompositing工作。

作为测试的一部分,我创建了一个正方形的中灰色图像:

和一个方形黑色图像:

当我使用CIAdditionCompositing补丁组合这两个正方形图像时,我希望看到一个灰色正方形,其颜色与原始的中间灰色正方形完全匹配(因为黑色图像的所有颜色分量的值都为 0)。然而,最终的结果实际上比原始灰度图像更亮:

我不明白这个结果是如何产生的。我对如何CIAdditionCompositing工作有什么误解?

0 投票
1 回答
3512 浏览

android - Android Studio 中的图像混合模式(如 photoshop、paint.net)?

我正在尝试以相同的方式混合两个图像Photoshoppaint.net混合它们,具有不同的混合模式,如Difference, Multiply, Additive, Color Burn, Glow, etc.

我发现PorterDuff.Mode效果很好,但它缺乏混合效果(它只有添加、乘法、屏幕)有没有办法获得更大范围的混合模式?有没有办法编辑 android.graphics.PorterDuff;库以获得更多混合模式?有任何想法吗?

例如: 变成这样: 结果

这是我使用 btw 的 porterduff 代码:

0 投票
1 回答
37 浏览

android - 将 png 转换为可绘制,然后是颜色过滤器,然后是位图 - 不工作

我有一个由白色和灰色(alpha 100%)和完全透明区域(alpha==0)组成的 png。我正在尝试用不同的颜色为图标着色,然后返回一个位图。这是我的代码。

不幸的是,我的图标保持白色和灰色。我在监督什么?

0 投票
1 回答
288 浏览

android - 如何使用 PorterDuff Xfermodes 和 Alpha Mask 擦除位图的一部分?

我有一个 alpha 蒙版,我想将此蒙版用作橡胶,当用户触摸屏幕时,应将位图的一部分作为 alpha 蒙版的形状擦除。我已经尝试过了,但它总是将整个位图作为掩码而不是 alpha 部分。稍后,用户将保存位图,以便那些被擦除的部分应该是透明的。

这是我使用的代码:

0 投票
1 回答
102 浏览

core-image - componentMax CIBlendKernel 与lighten 或lighterColor 有何不同?

CIBlendKernel提供了一个 componentMax 混合模式,“使用两个图像的最大值创建一个图像”。

它与做同样事情的 lighten 或lighterColor 混合模式有何不同?componentMax 能达到这两者不能达到的结果吗?

类似地,componentMin 是否可以实现与 darken 或 darkerColor 不同的结果?

0 投票
1 回答
51 浏览

android - PorterDuffColorFilter 更改了我的 recyclerview 中的所有图标

所以-我有一个recyclerview,如果我点击一个项目,我想更改我的drawable的colorFilter,它附加到我的textView中点击的位置。

问题是,当我更改可绘制对象的颜色时,它会在所有项目中更改,而不仅仅是单击的位置。

代码:

这个for循环在我的适配器的'onBindViewHolder'中被调用,当我点击时 - 我用我的位置调用notifyItemChanged,我已经三重检查了它,这个函数只运行一次,我点击了正确的位置..那么为什么一切都会改变?

0 投票
2 回答
613 浏览

android - Android - 在 Android Pie (API 28) RadialGradient 绘制一个矩形而不是圆形

我正在尝试使用背景图像和前景图像模拟 TorchView。它在 API 27 及更低版本上运行良好,但在 API 28 上绘制一个矩形。

知道为什么它在 Android Pie 上不起作用吗?

API 27 及以下版本的屏幕截图 API 27 及以下

API 28 上的屏幕截图 API 28

火炬视图类