安卓颜色选择器 - 更新颜色数组

6
我正在尝试为Android创建一个颜色选择器,它看起来像Gimp的简化版本。因此,它有一个色相滑块和一个矩形,其中包含在色相滑块中选择的颜色的饱和度/值变体。
问题:创建矩形的最佳方法是什么?
现在,我正在创建一个200x200像素的数组,但是创建和显示该数组的矩形需要约5秒钟。而且,每当我更改色相滑块中的值时,我需要矩形中的颜色也随之改变...
顺便说一下,矩形是位图。我能在上面使用颜色矩阵吗?如何使用?有任何示例吗?
提前致谢!

不清楚颜色矩阵,但当某些东西发生改变时,您是否真的需要完全重新计算位图?也许有一种快速的方法只需计算某种增量?您介意发布代码吗?虽然我帮不了你,但我真的很想看看如何计算矩形中的颜色。 - svens
颜色矩阵绝对是正确的选择!我刚刚合并了两个在网上找到的东西,现在位图可以实时改变颜色。我需要一些时间来优化代码,但是看看这两个链接:
  • http://www.anddev.org/viewtopic.php?p=16463(只需注释掉mPaint.setColorFilter(null);)
  • http://www.quasimondo.com/archives/000565.php
所以整个想法是创建一个带有画笔对象的bmp,然后通过ColorMatrix添加一个过滤器到该画笔中。
- zorglub76
4个回答

8

您可以通过使用LinearGradients绘制矩形来创建饱和度/明度随所选色相变化的矩形。

您可以将此代码http://code.google.com/p/android-color-picker/添加到您的应用程序中。看起来这正是您想要的。


yuku,你的取色器看起来很棒!我正在考虑在DigiClock小部件中使用它,喜欢它不需要意图和其他应用程序安装,非常感谢!!! - DavidG
我已将此添加到DigiClock小部件中,目前我的用户非常印象深刻。再次感谢yuku! - DavidG
看起来非常不错,我可能会用这个 :) - Bryan Denny

4

1
所有的链接都已失效。http://www.openintents.org/action/org-openintents-action-pick-color/ 是在openintent.org上最接近于一个可用的颜色选择器。 - Gizmomogwai

0

这个方法也可以应用于图像颜色选择器吗?

使用案例:

  1. 选择图像上的特定像素。
  2. 所选像素在矩形形状上生成一种颜色。
  3. 也许还可以为所选像素生成颜色代码?

0

一种可能性是在开发人员的计算机上为每个滑块位置预先创建矩形,将它们嵌入资源中,然后在滑块更改时切换到正确的矩形。这可能会导致应用程序变得臃肿,但速度会很快。

我没有处理过2D图形API,所以我不知道是否有其他可能性(例如,颜色矩阵)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接