2010-11-09 40 views
1

我想了解应用程序如何通过代码实现图像的一些着色责任,以实现更灵活的着色选项数组。让我解释。Android应用程序可以承担通过代码动态着色图像资源的责任吗?

假设你在photoshop,也许是汽车上设计了一个很棒的图像。你让汽车发红。然后,使用额外的半透明层,您可以添加更亮更暗的点,以实现阳光下的阴影或闪光等效果。也许你可以添加另一个镀铬边框。

我希望能够修改那个“红色汽车”图层,而不会影响真正抛光图像的其他阴影效果。我想通过代码改变汽车说出蓝色,让它像红色汽车一样闪闪发光。

首先,这可能吗?如果是这样,我需要开始阅读有关内容以便能够像这样动态调整图像的颜色。哪些课程可以帮助我?我需要注意哪些缺陷?

其次,也许最重要的是,我需要告诉我的图形设计师需要什么才能正确设置我。如果我无法正确传达我需要的东西,那么我不可能编写代码以使它看起来很棒!

一如既往,感谢您的阅读和任何帮助,您可以提供!

回答

2

因此,您不能拍摄一张已平整的图像,并将其恢复到最初构图的图像。一旦图像变平,它实质上是一个平面的二维像素网格。

有两种方法可以做到这一点。

您可以将部分透明的图像叠加在一起。我不知道你的用例,但是你可以很容易地用透明的(和部分透明的区域)显示一堆图像,它们和你的图层在Photoshop中一样占据相同的空间。那时,你可以换入和换出不同的图层。您也可以在View.onDraw(Canvas)方法中执行此操作,并绘制一叠部分透明的图像。

这是一种方法。另一种方法是根据你在Photoshop中可以做到的平面图像来思考。您可以像使用Photoshop中图像 - >调整菜单中的项目(亮度和合同,色调和饱和度,色彩平衡,水平,曲线等)那样更改图像颜色的各个方面。这些东西只是像素上的方程式,在某些情况下相当简单(但在其他情况下,虽然相当复杂)。如果你的图像相对较小,你可以实际遍历所有的像素,并在一秒之内完成对它们的操作,如果这符合你的目的(虽然可能是矫枉过正)。

+0

好东西。是的,我明白必须覆盖图像。我真正追求的部分是色彩,我不认为调整色调/饱和度/对比度等给了我灵活性。我还考虑通过整个图像循环来设置RBG值,问题是图像是矩形,透明度超出形状。我不知道如何在随机形状上创建一个循环。也许我可以做,如果(!透明){}等 – user432209 2010-11-09 23:39:53

+0

我确实设法使用覆盖成功地做到了这一点。诀窍是我的设计师必须弄清楚如何在图像中实现渐变透明度(如Photoshop混合)。 – user432209 2011-01-29 17:49:36

相关问题