我正在尝试了解应用程序如何通过代码对图像的某些着色责任进行处理,以实现更灵活的着色选项。让我解释一下。
假设你在photoshop中设计一个漂亮的图像,也许是一辆汽车。你让汽车变红了。然后,使用额外的半透明层,添加更亮更暗的斑点,以实现阴影或阳光下的闪光。也许然后你添加另一层镀铬修剪。
我希望能够修改那个“红色汽车”图层,而不会影响真正打磨图像的其他阴影效果。我想通过代码将汽车换成蓝色,让它像红色汽车一样闪闪发光。
首先,这可能吗?如果是这样,我需要什么才能开始阅读,以便能够像这样动态调整图像的颜色。可以使用哪些类可以帮助我?我需要注意哪些陷阱?
其次,也许最重要的是,我需要告诉我的平面设计师我需要什么才能正确地设置我。如果我无法正确地传达我需要的东西,我就不可能编写代码使其看起来很棒!
一如既往,感谢阅读和您提供的任何帮助!
答案 0 :(得分:2)
因此,您无法拍摄已展平的图像并将其还原到最初组成它的图层。一旦图像被展平,它基本上是一个平面的2D像素网格。
有两种方法可以做到这一点。
您可以将部分透明的图像叠加在一起。我不知道你的用例,但你可以很容易地显示一堆图像,这些图像具有透明(和部分透明的区域),这些图像占用了与图层在Photoshop中相同的空间。此时,您可以只交换不同的图层。您也可以在View.onDraw(Canvas)方法中执行此操作,并绘制一堆部分透明的图像。
这是一种方式。另一种方法是根据你在Photoshop中可以做到的平面图像来思考。您可以像对图像中的项目一样更改图像颜色的各个方面 - >在photoshop中调整菜单(亮度和收缩,色调和饱和度,色彩平衡,水平,曲线等)。那些东西只是像素的方程式,在某些情况下相当简单(在其他情况下,虽然相当复杂)。
如果您的图像相对较小,您实际上可以循环遍历其所有像素,并在一秒钟内完成对它们的操作,如果这适合您的目的(尽管可能过度杀伤)。