繁体   English   中英

在UIImageView中更改图像的背景颜色

[英]Changing background color of Image in UIImageView

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

我认为您无法更改图像的背景色。 您可以按照您所说的那样更改UIImageView的背景颜色。 也许您可以拥有多个具有不同颜色的图像,然后根据需要加载它们。

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

您需要使用OpenGL。 为此,我使用了一个名为Sparrow的游戏框架。 Sparrow是用于制作iOS游戏的OpenGL包装器。 我有几个白色的“平铺”,我通过编程将其更改为不同的颜色。 这与您想要的相反,因为您希望在我更改“前景”的地方更改“背景”。 就是说,您可能可以使用遮罩图像来达到所需的效果。

很棒的是,您可以将不同的图像堆叠在一个SPSprite对象中。 您可以在sprite SPQuad白色SPQuad对象创建为“后”对象,然后使用setColor:ofVertex:更改SPQuad的颜色,并保持前景中的图像完整,前提是它在正确的位置具有关联的透明度。

涉及的类称为SPImage ,方法名为setColor:ofVertex:SPQuad继承)

唯一的缺点是您必须重写应用程序,因为OpenGL层处于顶层,并且您需要调用特殊功能来显示iOS控件,例如导航控制器和按钮。 这是完全定制项目的胆量。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM