我需要更改UIImage的顏色。更改UIImage的顏色多於一種顏色
但是這張圖片有兩種顏色,一種是邊框,另一種是中心的白色。
白色必須保持不變,但其他顏色將在代碼改變..
我已經嘗試了一些東西,例如:
let orImage = UIImage(named: "HomeImg") self.imgViewPin.image = orImage?.imageWithRenderingMode(.AlwaysTemplate) self.imgViewPin.tintColor = UIColor.redColor()
而且擴展UIImage
extension UIImage {
func imageTintedWithColor(color:UIColor) -> UIImage {
var img:UIImage!
UIGraphicsBeginImageContextWithOptions(self.size, false, 0.0)
var rect = CGRect.zero
rect.size = self.size
self.drawInRect(rect)
color.set()
UIRectFillUsingBlendMode(rect, .ColorBurn)
self.drawInRect(rect, blendMode: .SourceIn, alpha: 1.0)
img = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return img
}
func tintedImageWithColor(color:UIColor) -> UIImage {
UIGraphicsBeginImageContextWithOptions(self.size, false, 0.0)
let context = UIGraphicsGetCurrentContext()
let rect = CGRect(origin: .zero, size: self.size)
CGContextSetBlendMode(context, CGBlendMode.Normal)
self.drawInRect(rect)
CGContextSetBlendMode(context, CGBlendMode.SourceIn)
color.setFill()
CGContextFillRect(context, rect)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return image
}}
我甚至嘗試每像素更改像素,但效果不好。
任何人都可以幫助我嗎?
你到目前爲止嘗試過什麼?試着回到這裏,回答具體的問題。 「爲我寫代碼」不是一個可以接受的問題。如果你對如何解決問題有疑問,請點擊這裏:http://stackoverflow.com/help/how-to-ask – Stonz2
對不起,我已經改變了問題,以詳細說明我的主要問題,也將解決地圖。 –