में UIImage में एक पृष्ठभूमि रंग सेट करने के मैं drawInRect()
विधि का उपयोग कर एक छवि आकर्षित मेरी आयत 120 * 120 के आकार है और मेरी छवि 100 * 100 है कैसे मैं में मेरी छवि के लिए एक पृष्ठभूमि रंग सेट कर सकते हैं स्विफ्टकैसे तेजी से प्रोग्रामिंग
उत्तर
इस एक्सटेंशन का उपयोग कर सकते हैं:
extension UIImage {
func imageWithColor(tintColor: UIColor) -> UIImage {
UIGraphicsBeginImageContextWithOptions(self.size, false, self.scale)
let context = UIGraphicsGetCurrentContext() as CGContextRef
CGContextTranslateCTM(context, 0, self.size.height)
CGContextScaleCTM(context, 1.0, -1.0);
CGContextSetBlendMode(context, kCGBlendModeNormal)
let rect = CGRectMake(0, 0, self.size.width, self.size.height) as CGRect
CGContextClipToMask(context, rect, self.CGImage)
tintColor.setFill()
CGContextFillRect(context, rect)
let newImage = UIGraphicsGetImageFromCurrentImageContext() as UIImage
UIGraphicsEndImageContext()
return newImage
}
}
और फिर
image.imageWithColor("#1A6BAE".UIColor)
आपके UIImageView की पृष्ठभूमि रंग संपत्ति का उपयोग करना शायद सबसे अच्छा है।
blackColor
darkGrayColor
lightGrayColor
whiteColor
grayColor
redColor
greenColor
blueColor
cyanColor
yellowColor
magentaColor
orangeColor
purpleColor
brownColor
clearColor
आप के बजाय प्रोग्राम के रूप में एक दिया रंग के साथ एक UIImage बनाना चाहते हैं, तो आप इस प्रकार यह कर सकते हैं:
self.imageView.backgroundColor = UIColor.redColor()
निम्नलिखित प्रीसेट रंगों मौजूद - इस प्रकार आप यह कर सकते हैं
var rect = CGRectMake(0, 0, size.width, size.height)
UIGraphicsBeginImageContextWithOptions(size, false, 0)
color.setFill()
UIRectFill(rect)
var image: UIImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
जहां var
'छवि' आपके रंगीन UIImage है।
यह पृष्ठभूमि रंग संपत्ति ठीक काम करती है लेकिन जब मैं छवि को सहेजता हूं तो पृष्ठभूमि रंग अभी भी सफेद –
है इसलिए मैं इस कोड का उपयोग करता हूं UIGraphicsBeginImageContextWithOptions (CGSizeMake (120,120), झूठी, 1.0) rect2 = CGRectMake (0, 0, displayImage.size दें। । चौड़ाई, displayImage.size.height) दें संदर्भ = UIGraphicsGetCurrentContext() UIColor.redColor() सेट() CGContextFillRect (संदर्भ, rect2) displayImage.drawInRect (rect2) छवि = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); // displayImage 100 * 100 का आकार है –
स्विफ्ट 3 के लिए
extension UIImage {
static func imageWithColor(tintColor: UIColor) -> UIImage {
let rect = CGRect(x: 0, y: 0, width: 1, height: 1)
UIGraphicsBeginImageContextWithOptions(rect.size, false, 0)
tintColor.setFill()
UIRectFill(rect)
let image: UIImage = UIGraphicsGetImageFromCurrentImageContext()!
UIGraphicsEndImageContext()
return image
}
}
प्रयोग @ अंडमुख के समाधान अपडेट किया गया:
UIImage.imageWithColor(tintColor: <Custom color>)
एक एक्सटेंशन के साथ एक पृष्ठभूमि रंग के साथ एक छवि प्राप्त करने के लिए एक अन्य तरीका है: (स्विफ्ट 3)
extension UIImage {
/**
Returns an UIImage with a specified background color.
- parameter color: The color of the background
*/
convenience init(withBackground color: UIColor) {
let rect: CGRect = CGRect(x: 0, y: 0, width: 1, height: 1)
UIGraphicsBeginImageContext(rect.size);
let context:CGContext = UIGraphicsGetCurrentContext()!;
context.setFillColor(color.cgColor);
context.fill(rect)
let image:UIImage = UIGraphicsGetImageFromCurrentImageContext()!
UIGraphicsEndImageContext()
self.init(ciImage: CIImage(image: image)!)
}
}
और फिर:
// change UIColor.white with your color
let image = UIImage(withBackground: UIColor.white)
- 1. मैं कैसे तेजी से 2
- 2. कैसे आप में तेजी से
- 3. तेजी से
- 4. तेजी से
- 5. कैसे सही ढंग से तेजी से
- 6. मैं तेजी से
- 7. तेजी से पता लगाने के साथ SURF विवरण तेजी से?
- 8. जेएक्सबी तेजी से
- 9. पीएलडीबी में तेजी से
- 10. सबसे तेजी से रास्ता
- 11. startMonitoringSignificantLocationChanges तेजी से
- 12. तेजी से आर
- 13. लोग प्रोग्रामिंग प्रतियोगिताओं को इतनी तेजी से कैसे हल करते हैं?
- 14. आर: पंक्ति तेजी से
- 15. मार्शल cPickle भार तेजी से तेजी से उदासीनता,
- 16. बाएं तेजी से जुड़ें या अंदरूनी तेजी से शामिल हों?
- 17. तेजी से लुकअप
- 18. तेजी से रूपांतरण
- 19. तेजी से strlen?
- 20. सी # तेजी से गेम
- 21. तेजी से और एपीआई
- 22. तेजी से स्थानीय डेटाबेस
- 23. तेजी से गणन
- 24. 'CGPointMake' में तेजी से
- 25. सबस्ट्रिंग मैच तेजी से?
- 26. तेजी से धागे बनाना?
- 27. तेजी से आउटपुट
- 28. RestKit संकलन तेजी से
- 29. तेजी से ज्यामितीय निकटता
- 30. बूल संपत्ति तेजी से
आप एक वास्तविक UIImage वस्तु है, तो आप सिर्फ सकता है अपनी '.backgroundcolor' संपत्ति सेट करें। – aspyct