narysować obraz przy użyciu drawInRect()
metodę mój prostokąt jest rozmiar 120 * 120 i mój obraz jest 100 * 100 jak mogę ustawić kolor tła mojego wizerunku w swiftjak ustawić kolor tła w UIImage w szybkim programowaniu
Odpowiedz
Można również użyć tego rozszerzenia:
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
}
}
A potem
image.imageWithColor("#1A6BAE".UIColor)
Najlepiej używać właściwości backgroundColor swojego UIImageView. Można to zrobić w następujący sposób -
self.imageView.backgroundColor = UIColor.redColor()
Następujące zadane kolory istnieją:
blackColor
darkGrayColor
lightGrayColor
whiteColor
grayColor
redColor
greenColor
blueColor
cyanColor
yellowColor
magentaColor
orangeColor
purpleColor
brownColor
clearColor
Jeśli zamiast tego chcesz programowo utworzyć UIImage z danego koloru, można to zrobić w następujący sposób:
var rect = CGRectMake(0, 0, size.width, size.height)
UIGraphicsBeginImageContextWithOptions(size, false, 0)
color.setFill()
UIRectFill(rect)
var image: UIImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
Gdzie "obraz" var
jest Twoim kolorowym UIImage.
to właściwość backgroundColor działa poprawnie, ale kiedy zapisuję obraz, kolor tła jest nadal biały –
więc używam tego kodu UIGraphicsBeginImageContextWithOptions (CGSizeMake (120,120), false, 1.0) let rect2 = CGRectMake (0, 0, displayImage.size. . szerokość displayImage.size.height) Let context = UIGraphicsGetCurrentContext() UIColor.redColor() zestawu() CGContextFillRect (kontekst rect2) displayImage.drawInRect (rect2) grafika = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); // displayImage ma rozmiar 100 * 100 –
Aktualizacja @ rozwiązania egghead dla 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
}
}
Zastosowanie:
UIImage.imageWithColor(tintColor: <Custom color>)
Innym sposobem na uzyskanie obrazu z kolorem tła z rozszerzeniem jest: (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)!)
}
}
A potem:
// change UIColor.white with your color
let image = UIImage(withBackground: UIColor.white)
- 1. Obracanie UIImage w szybkim
- 2. jak ustawić kolor tła w układzie xml?
- 3. Jak ustawić kolor tła w jquery
- 4. jak ustawić kolor tła UIViewController w iphone?
- 5. Jak ustawić kolor tła dla UIWebView w iPhonie sdk
- 6. Jak zapisać kolor w NSUserDefaults w szybkim?
- 7. Jak ustawić kolor tła ramki HTML?
- 8. Jak ustawić kolor tła zgrupowanego UITableView?
- 9. Jak ustawić kolor tła w CCLabelTTF w kokos2d
- 10. Jak ustawić niestandardowy kolor tła przycisku?
- 11. Android - jak ustawić kolor tła wszystkich ekranów?
- 12. Jak ustawić kolor tła mapy JVector?
- 13. Kolor tła CSS w JavaScript
- 14. Jak ustawić kolor tła w UIView przy użyciu CGContext?
- 15. Jak ustawić kolor tła przycisku w języku Java GUI?
- 16. Jak ustawić niestandardowy kolor tła na linii w JTextPane
- 17. Jak ustawić kolor tła warstwy w cocos2d-x?
- 18. Jak utworzyć kolor tła teksturowanego (paleta obrazów), takiego jak zgrupowany kolor tła tabeli?
- 19. Uzyskaj kolor piksela UIImage
- 20. Jak ustawić ramkę UIImage
- 21. Jak ustawić kolor aUIBUTton?
- 22. Czy można ustawić kolor tła hostingu w coreplot?
- 23. Kolor tła PreferenceFragment
- 24. Ustaw kolor komórki tła w PHPExcel
- 25. Jak ustawić każdy znak na inny kolor/kolor tła w JTextPane?
- 26. Jak ustawić niebezpieczny kolor tła obszaru dla ios 11
- 27. Ustaw kolor tła: Android
- 28. Jak ustawić kolor tła komórki tabeli za pomocą iText?
- 29. Jak ustawić kolor tła dla całego okna aplikacji Qt?
- 30. Jak zmienić kolor tła storyboardu w Xcode?
Jeśli masz rzeczywistego obiektu UIImage, można po prostu ustaw jego właściwość '.backgroundColor'. – aspyct