traggo un'immagine utilizzando drawInRect()
metodo mia rettangolo è formato di 120 * 120 e la mia immagine è 100 * 100 Come posso impostare un colore di sfondo per la mia immagine in swiftcome impostare un colore di sfondo in UIImage in rapida programmazione
risposta
È inoltre possibile utilizzare questa estensione:
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
}
}
E poi
image.imageWithColor("#1A6BAE".UIColor)
Probabilmente è meglio usare la proprietà backgroundColor di UIImageView. È possibile farlo nel seguente modo -
self.imageView.backgroundColor = UIColor.redColor()
i seguenti colori predefiniti esistono:
blackColor
darkGrayColor
lightGrayColor
whiteColor
grayColor
redColor
greenColor
blueColor
cyanColor
yellowColor
magentaColor
orangeColor
purpleColor
brownColor
clearColor
Se invece volete creare a livello di codice un UIImage con un determinato colore, si può fare questo nel modo seguente:
var rect = CGRectMake(0, 0, size.width, size.height)
UIGraphicsBeginImageContextWithOptions(size, false, 0)
color.setFill()
UIRectFill(rect)
var image: UIImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
Dove l'immagine "var
" è la tua UIImage colorata.
questa proprietà backgroundColor funziona bene ma quando salvi l'immagine il colore di sfondo è ancora bianco –
quindi uso questo codice UIGraphicsBeginImageContextWithOptions (CGSizeMake (120,120), false, 1.0) let rect2 = CGRectMake (0, 0, displayImage.size. . larghezza, displayImage.size.height) let context = UIGraphicsGetCurrentContext() UIColor.redColor() set() CGContextFillRect (contesto, rect2) displayImage.drawInRect (rect2) immagine = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); // displayImage è una dimensione di 100 * 100 –
Aggiornato @ soluzione Egghead per Swift 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
}
}
Usage:
UIImage.imageWithColor(tintColor: <Custom color>)
Un altro modo per ottenere un'immagine con un colore di sfondo con un'estensione è: (Swift 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)!)
}
}
E poi:
// change UIColor.white with your color
let image = UIImage(withBackground: UIColor.white)
- 1. UIImageView programmazione in rapida
- 2. Come impostare il colore di sfondo QWidget?
- 3. Come posso impostare ciascun carattere su un colore diverso/colore di sfondo in un JTextPane?
- 4. come impostare il colore di sfondo dell'intera pagina in css
- 5. Come impostare il colore di sfondo in jquery
- 6. Come si crea un colore di sfondo con texture (tavolozza immagine) come un colore di sfondo raggruppato a tavola?
- 7. Colore iOS a trasparente in UIImage
- 8. non possibile impostare il colore di sfondo UITableViewCell in IB
- 9. impostare il colore di sfondo: Android
- 10. Impostare il colore di sfondo su UITableView in IOS 6
- 11. Come impostare un colore di sfondo di un JButton in Java?
- 12. Come impostare l'immagine di sfondo in Java?
- 13. colore di sfondo Change Toolbar di programmazione non cambia Toolbar Titolo sfondo di colore
- 14. Come impostare un'immagine di sfondo individuale per gruppo di UIButtons livello di programmazione
- 15. Come impostare il colore di sfondo di una vista
- 16. Come impostare il colore di sfondo per UIWebView in sdk iPhone
- 17. Colore sfondo UIView in Swift
- 18. HTML: come impostare il colore di sfondo dell'elemento nell'elemento select
- 19. Cambiare il colore di alcuni pixel in un UIImage
- 20. Come impostare il colore di sfondo delle singole celle gridview
- 21. Come impostare il colore di sfondo per UIPageViewController?
- 22. Come impostare un colore personalizzato in itext?
- 23. Come impostare il colore di un UIButton all'interno (non il colore di sfondo)
- 24. Come impostare il colore di sfondo di una WebView su un valore esadecimale?
- 25. come impostare il colore di sfondo nel layout xml?
- 26. PreferenceFragment colore di sfondo
- 27. Come impostare il colore di sfondo per JVector Map?
- 28. Acquisizione del colore di sfondo UIKeyboard a livello di programmazione
- 29. come impostare il colore rgb in Android?
- 30. Come posso impostare un colore di sfondo diverso per ogni riga in listview?
Se si dispone di un oggetto UIImage vero e proprio, si può solo imposta la proprietà '.backgroundColor'. – aspyct