问题标签 [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.
android - Android PorterDuff 无法按预期工作
我正在尝试使用 Android 的 PorterDuff 绘制一个阴影,该阴影只会出现在它下面有东西的地方(而不是背景图像透明的地方),我很难让它工作。我编写了以下代码来测试各种 PorterDuff.Modes,但它们似乎不像这里描述的那样工作:
https://developer.android.com/reference/android/graphics/PorterDuff.Mode.html
从那个页面,我会说我正在寻找的效果是 SRC_ATOP。
这是我正在使用的代码,下面是结果的图像:
我已经玩了几个小时了,我真的很难取得任何进展,所以任何帮助将不胜感激。先感谢您!
android - 如何在擦除其中一部分后恢复位图,同时保留其 alpha?
我正在开发一个具有 2 个功能的 android 应用程序:-
- 是删除(擦除)给定路径的图像的一部分,就像 Photoshop 中的橡皮擦一样。
- 是恢复给定路径的图像。
我已经实现了擦除部分
而且,修复功能,例如,
问题是,在修复特征中,图像的 alpha 没有被保留,并且图像是完全不透明地绘制的。我需要保留图像的 alpha。
所以,我需要知道如何在擦除图像的一部分后修复图像,同时保留它的 alpha。
ios - 使用 CIAdditionCompositing 添加纯黑色时的预期行为?
我试图了解如何CIAdditionCompositing
工作。
作为测试的一部分,我创建了一个正方形的中灰色图像:
和一个方形黑色图像:
当我使用CIAdditionCompositing
补丁组合这两个正方形图像时,我希望看到一个灰色正方形,其颜色与原始的中间灰色正方形完全匹配(因为黑色图像的所有颜色分量的值都为 0)。然而,最终的结果实际上比原始灰度图像更亮:
我不明白这个结果是如何产生的。我对如何CIAdditionCompositing
工作有什么误解?
android - 将 png 转换为可绘制,然后是颜色过滤器,然后是位图 - 不工作
我有一个由白色和灰色(alpha 100%)和完全透明区域(alpha==0)组成的 png。我正在尝试用不同的颜色为图标着色,然后返回一个位图。这是我的代码。
不幸的是,我的图标保持白色和灰色。我在监督什么?
android - 如何使用 PorterDuff Xfermodes 和 Alpha Mask 擦除位图的一部分?
我有一个 alpha 蒙版,我想将此蒙版用作橡胶,当用户触摸屏幕时,应将位图的一部分作为 alpha 蒙版的形状擦除。我已经尝试过了,但它总是将整个位图作为掩码而不是 alpha 部分。稍后,用户将保存位图,以便那些被擦除的部分应该是透明的。
这是我使用的代码:
core-image - componentMax CIBlendKernel 与lighten 或lighterColor 有何不同?
CIBlendKernel提供了一个 componentMax 混合模式,“使用两个图像的最大值创建一个图像”。
它与做同样事情的 lighten 或lighterColor 混合模式有何不同?componentMax 能达到这两者不能达到的结果吗?
类似地,componentMin 是否可以实现与 darken 或 darkerColor 不同的结果?
android - PorterDuffColorFilter 更改了我的 recyclerview 中的所有图标
所以-我有一个recyclerview,如果我点击一个项目,我想更改我的drawable的colorFilter,它附加到我的textView中点击的位置。
问题是,当我更改可绘制对象的颜色时,它会在所有项目中更改,而不仅仅是单击的位置。
代码:
这个for循环在我的适配器的'onBindViewHolder'中被调用,当我点击时 - 我用我的位置调用notifyItemChanged,我已经三重检查了它,这个函数只运行一次,我点击了正确的位置..那么为什么一切都会改变?