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

android - 如何在不耗尽内存的情况下在 droid 中制作益智应用程序?

我注意到来自 google play 商店的其他拼图应用程序可以多达 400 个单独的可移动拼图

我一直在尝试学习如何至少拍摄一张能代表我的拼图的图像,裁剪某些部分并用拼图设计掩盖留下的图像空间,以创建我的个人拼图

我想为我的应用程序最多使用 20 块,但到目前为止,根据我的 android studio 内存日志,一旦位图工厂完成创建一个拼图块,我正在使用大约 18mb 的内存,在与所有其他块一起创建 20 块之后应用程序的功能我使用了 400+mb 的内存,我必须使用“largeHeap=true”来避免内存不足,但我已经接近超过这些更高的限制,以至于应用程序超级缓慢且足够动画活动将不可避免地使应用程序崩溃

我很想知道其他 Play Store 益智应用在做什么,而我没有

非常感谢任何输入

仅供参考,我的图像使用 PNG24,测试图像的尺寸为 556x720

这是一个示例,如果我只创建一个动画拼图图像

}

这是我加载 5 张图片时的样子

http://s15.postimg.org/ymqspk77v/Screenshot_2016_02_29_07_19_26.png

0 投票
0 回答
463 浏览

android - ComposeShader 中的 PorterDuff.Mode.MULTIPLY 无法正常工作

我想在我的应用程序中实现调色板。这是主要的 onDraw 方法。

但是,ComposeShader shader似乎不起作用。

那是,

仅显示垂直渐变。如果我更改参数:

它显示水平渐变。没有乘法!为什么?

0 投票
0 回答
271 浏览

c++ - 可以对 OpenGL 中的基本形状进行 Porter/Duff XOR 操作吗?

我有一个三角形:

我有一个正方形:

我想将这两个形状相交以显示异或效果,例如:

波特/达夫异或

这在 OpenGL 中是否可行,如果可行,我将如何去做?我还使用 GLUT 和 GLUI 库作为旁注,以防万一我可以利用它们获得任何技巧。

0 投票
1 回答
239 浏览

android - 绘制透明区域不使用拖动侦听器更新

我从 SO 的一个习惯中看到了很多transparent关于孩子背景的问题,但是似乎没有人有这个问题。ViewsViewGroup

背景:
我创建了一个自定义FrameLayout;这个容器有动态添加的视图。它的孩子应该有一个透明的背景,但容器的另一个表面必须有背景颜色。子视图可以drag'n'dropped在此容器中的任何位置。

我做什么:
我覆盖dispatchDraw(),创建一个Bitmap和一个新的Canvas,然后我用白色背景填充新的画布。
我在子视图上创建一个循环,从子维度创建一个新的,并用于Paint清除子区域。对于每个孩子,我将 Paint 和 Rect 添加到新的 Canvas。 最后,我通过传递创建的位图在 给出的主画布上使用。RectPorterDuff.Mode.DST_OUT
drawBitmapdispatchDraw()

问题:
这很好用:孩子们有一个透明的背景,其余的都是白色背景。但是,当我DragListener向孩子添加 a 时,“切割”区域没有更新(虽然dispatchDraw被正确召回):换句话说,当我拖动子视图时,它被很好地放下但透明区域仍然在同一个地方。

代码:
自定义FrameLayout

DragListenerwith事件ACTION_DROP

截图:

关于我找到的所有问答,我尝试了很多东西,但似乎没有任何效果。
任何帮助将不胜感激。

0 投票
3 回答
13934 浏览

android - 如何在 Android 的 XML 中创建“矩形内的透明圆圈”形状?

我正在尝试在我的应用程序中创建以下设计。

设计样机
(https://photos.google.com/share/AF1QipPhCGTgf9zi7MetWJYm0NQ14c3wqzjqnEwxsajCFHEjqzt5R29qYvIjZ2C71q7EnQ?key=WUZKSXA1WVVwSlI2LVdTQy1IRjdUdzVuQlpCY0Rn)

它覆盖在主 UI 之上。尝试使用主 UI 顶部的布局创建它,其背景是在 XML 中创建的半透明形状。但是,即使在阅读了多个帖子之后,我也无法弄清楚。

我尝试了以下方法,但没有奏效。创建一个具有 200dp 笔划的环形并将其设置为图像视图的源,然后将 scaletype 设置为 centerCrop,但该形状不会像位图那样缩放。

形状 XML:

叠加布局:

有关如何执行此操作或代码的任何指示都会非常有帮助。

0 投票
0 回答
1932 浏览

android - Android 裁剪位图画布

我想创建裁剪位图功能并参考了Android: Free Croping of Image但这会将位图设置在另一个 imageView 中。现在我知道我可以在画布中设置裁剪位图但我想保留原始位图并想做在 onDraw() 中进行裁剪,而不是制作不同的位图,然后将其设置在画布中。我尝试在 onDraw 中实现以下代码,但没有裁剪,位图保持原样。请帮助,以便我可以在其中编写代码CustomView 的 onDraw() 方法。

我的 onDraw() 方法

0 投票
1 回答
928 浏览

ios - 在 iOS 中实现 Porter-Duff 合成操作

iOS SDK 中是否有 Porter-Duff 合成操作?

基础 12 Porter-Duff 合成操作。 在此处输入图像描述

0 投票
0 回答
131 浏览

android - PorterDuff 与 NinePatchDrawable

我正在尝试使用 9 个可绘制的补丁来使用 PorterDuff 剪切彩色背景。我的目标图像是一个灰色的矩形。源图像是一个 9 补丁气球,它看起来像这样:

预期的结果是: 气球里面是灰色,外面是白色背景

但我 在气球里面变白了,在外面变黑了

我的 imageView 代码:

我想使用 drawDirectlyOnCanvas,因为即使 drawWithBitmap 有效,它的效率也不高。

0 投票
1 回答
2060 浏览

android - PorterDuff 掩蔽叶不透明黑色背景

我正在尝试使用定义为九个补丁的蒙版来掩盖 FrameLayout。然而,虽然它在旧版本(例如 4.4.4)上的 5.0+ 上运行良好,但补丁留下了不透明的黑色背景。除了在渲染到屏幕或恢复到软件层之前绘制到屏幕外位图之外,还有什么办法可以避免这种情况?

0 投票
0 回答
41 浏览

android - 设备似乎以不同的方式处理滤色器

我有一个带有colorPrimary(红色)背景的按钮。在某些情况下,我必须在背景上应用颜色过滤器: myButton.getBackground().setColorFilter(getResources().getColor(R.color.background_grey), PorterDuff.Mode.SRC); 这按应有的方式工作。

我还需要能够撤消此操作。我尝试了setColorFilter(null)and clearColorFilter()(反过来调用setColorFilter(null))。这在大多数设备上都可以正常工作。但是,在某些设备上,按钮变为白色而不是红色。点击按钮似乎将背景设置回红色(首先colorPrimaryDark然后返回colorPrimary

只有少数设备表现出这种行为,其中之一是 LG G3 Vigor。

有没有办法在任何设备上做到这一点?