2014-01-21 91 views
0

在我的一个ViewController中,ImageView中有一个图像“白色背景”,我需要能够随时更改图像背景颜色。我不确定它甚至可能只改变图像背景颜色而不是ImageView的背景颜色。我看到的另一个选项是有多个不同颜色的图像,并在飞行中更改图像?有没有更好的方法来处理这种情况?提前致谢。在UIImageView中更改图像的背景颜色

回答

0

我不认为你可以改变图像的背景颜色。如您所说,您可以更改UIImageView的背景颜色。也许你可以有不同颜色的多个图像并根据你的要求加载它们。

0

我可能会这样做你说的方式。只需有多个图像并以编程方式更改它们。我不相信有一种简单的方法可以按照你想要的方式编辑图像。

0

您需要使用OpenGL。为此我使用了一个名为Sparrow的游戏框架。 Sparrow是用于制作iOS游戏的OpenGL封装器。我有几个白色的“瓷砖”,我编程改变为不同的颜色。这与你想要的相反,因为你希望在改变“前景”的地方改变“背景”。这就是说你可以使用蒙版图像来达到这个效果。

伟大的事情是,你可以在SPSprite对象的彼此之上堆叠不同的图像。您可以创建一个白色的SPQuad对象作为精灵中的“后方”对象,然后使用setColor:ofVertex:更改SPQuad的颜色,并保持前景中的图像完好无损,前提是它在正确的位置具有关联的透明度。

所涉及的类被称为SPImage和调用的方法是setColor:ofVertex:(从SPQuad继承)

的唯一的缺点是,你将不得不重写应用程序,因为OpenGL的层需要顶层和你需要调用特殊功能来显示iOS控件,如导航控制器和按钮。这意味着成为一个完全自定义项目的胆量。