问题标签 [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 回答
392 浏览

android - ios8喜欢Android上的Vibrancy效果

有没有人尝试过 ios 8 对 Android 上的 EditText 和 Bitmaps 的活力效果?

https://github.com/ide/UIVisualEffects/blob/master/Screenshots/UIVisualEffects.png

PorterDuffXferMode 看起来像是前进的道路,但我很想知道是否有人真的尝试过这个不同的小部件,如 Android 上的 EditText、TextView、ImageView 和 Lists?我特别指的是透过背景层和模糊覆盖层可见的文本。还想知道是否有人足够大胆地为此推出 Android 库?

0 投票
1 回答
573 浏览

android - 如何设置叠加层的不透明度?Android LayerDrawable

还有其他方法吗?也许是 PorterDuff.Mode?

0 投票
1 回答
433 浏览

android - 如何在 VisualizerView 中移除渐变效果

我正在使用felix 库进行条形图可视化。它工作正常。但我只想消除褪色效果。而是需要一个简单的 Color BarGraph 动画。只需将褪色效果替换为简单颜色即可。

我尝试mFadePaint从 VisualizerView 中删除,但它无法正常工作,然后我尝试将 PorterDuffXfermode 替换为 LIGHTEN 并变暗并添加。但没有得到所需的结果。

看到这个

在此处输入图像描述

0 投票
0 回答
946 浏览

android - Android 自定义 XferMode / PorterDuff.Mode

这里描述了一些预定义的混合模式:https ://developer.android.com/reference/android/graphics/PorterDuff.Mode.html

是否有可能使用其他一些自定义模式?(用于在 Canvas 上绘制各种东西)

例如,我真的需要另外两个:

  • 替换 alpha (它会写得[Sa, Dc]好像我理解正确)
  • 使用目标 alpha 混合[Sa, Da * Sc + (1 - Da) * Dc](这里我并不关心结果的 alpha)

如果它需要 OpenGL ES 2+ 就可以了。

这里有一个 [remotely] 类似的问题:在 android 中实现不同的 PorterDuff 模式——但答案似乎需要使用两个位图,而且我不想使用临时位图,因为它们……不是免费的。

0 投票
1 回答
414 浏览

android - ImageView - 颜色过滤器

我有一个 ImageView 并使用一个 ColorFilter (PorterDuff.Mode.MULTIPLY)。

是否可以使用此颜色过滤器但不能在整个图像上使用?它必须像“边距”/“填充”。

示例:图像宽度和高度 = 100dp。但是 colorFilter 必须是 ImageView 中心的 50dp(宽度和高度)。

下图就是我需要的(red = colorFilter)

在此处输入图像描述

0 投票
1 回答
2018 浏览

android - DrawableCompat.setTint(drawable, color) vs Drawable.setColorFilter(color, mode)

这两种实现有什么区别?

0 投票
2 回答
2986 浏览

java - 如何创建具有特定颜色(不是黑色)的透明位图?

透明像素由零的 alpha 值和红色、绿色和蓝色的任意值组成。所以即使一个像素是透明的,它仍然有颜色。

我现在想创建一个完全透明但具有特定颜色(例如白色)的位图。但是通过我尝试的每一种方法,我都会得到一个黑色的透明位图(就像在 png 文件中一样)。

这对我来说非常重要,因为我通过画布在位图上渲染抗锯齿文本。在角落,半透明像素变得更暗。我想要做的是预先用与文本相同的颜色填充位图或画布,但透明。

我的代码

到目前为止我尝试过的(redgreen并且blue非零):

画布操作:

这与PorterDuff.Mode.SRC_OVER. 我认为SRC用源 alpha 和源颜色覆盖目标,还是我错了?

我也试过这个,但它会生成一个透明的黑色位图。

位图操作:

这不会改变透明(黑色)位图上的任何内容

我尝试了这个,希望第一行用我的颜色覆盖所有内容,然后第二行使其透明。但它给出了一个透明的黑色位图。

这个也生成一个透明的黑色位图

如何生成非黑色透明位图?或者甚至有可能(因为自动压缩)?

0 投票
2 回答
1899 浏览

android - 如何在位图周围创建浮雕?

流行的游戏Words with Friends在游戏板上绘制字母图块作为一个整体-

您可以在以下屏幕截图中看到应用于所有字母拼贴的黄色线性渐变,以及边缘上的浮雕效果:

应用截图

我的文字游戏中,我希望有类似的效果:

浮雕示例

所以我创建了一个游戏板大小mBitmap,然后将所有图块绘制到其中,最后将位图绘制到我的自定义视图中-

设置:

绘画:

EmbossMaskFilter效果适用于drawText()anddrawRect()调用,但不适用于drawBitmap()

应用截图

我的问题:是否可以使用PorterDuff.Mode(和extractAlpha?)的某些组合在我的大位图周围绘制浮雕?

更新:

通过查看HolographicOutlineHelper.java我已经能够添加外阴影:

应用截图

在MyView.java中使用以下代码-

设置:

绘画:

但不幸的是,该应用程序现在运行缓慢 - 我仍然不知道如何在位图周围添加浮雕效果。

0 投票
0 回答
634 浏览

java - 带有循环进度视图的 Android Mask ImageView

我正在尝试使用 PorterDuff.Mode.DST_IN 使用CircularProgressView屏蔽图像视图,这是用于屏蔽的示例代码

源图像 = 将是来自可绘制对象的透明字母“C”,例如这个在此处输入图像描述

并且掩码图像应该来自 CircularProgressView。我想使用 CircularProgressView 以掩盖字母 C 的点(比例为 1/10)为基础,用纯白色填充透明字母“C”。这可能吗?

0 投票
2 回答
1223 浏览

android - 如何应用带边框的自定义图像蒙版?

因此,我将以下图像用作蒙版:

在此处输入图像描述

现在我想将此蒙版应用于图像,以便图像填充内部空白但不会填充边框,保持原样。但是,当我使用下面的代码时,图像会占用内部空白加上边框。

那么有没有办法让图像只填充空白?如何保持蒙版边框完好无损?

提前致谢。