Wie kann ich den Rand eines UIImage
?
Antwort
Zu viele Anzeigen?
Miguel Isla
Punkte
1275
Ich verwende diese Methode, um einen Rahmen hinzuzufügen außerhalb des Bildes . Sie können die Breite des Rahmens anpassen in boderWidth
konstant.
Mauersegler 3
func addBorderToImage(image : UIImage) -> UIImage {
let bgImage = image.cgImage
let initialWidth = (bgImage?.width)!
let initialHeight = (bgImage?.height)!
let borderWidth = Int(Double(initialWidth) * 0.10);
let width = initialWidth + borderWidth * 2
let height = initialHeight + borderWidth * 2
let data = malloc(width * height * 4)
let context = CGContext(data: data,
width: width,
height: height,
bitsPerComponent: 8,
bytesPerRow: width * 4,
space: (bgImage?.colorSpace)!,
bitmapInfo: CGImageAlphaInfo.premultipliedLast.rawValue);
context?.draw(bgImage!, in: CGRect(x: CGFloat(borderWidth), y: CGFloat(borderWidth), width: CGFloat(initialWidth), height: CGFloat(initialHeight)))
context?.setStrokeColor(UIColor.white.cgColor)
context?.setLineWidth(CGFloat(borderWidth))
context?.move(to: CGPoint(x: 0, y: 0))
context?.addLine(to: CGPoint(x: 0, y: height))
context?.addLine(to: CGPoint(x: width, y: height))
context?.addLine(to: CGPoint(x: width, y: 0))
context?.addLine(to: CGPoint(x: 0, y: 0))
context?.strokePath()
let cgImage = context?.makeImage()
let uiImage = UIImage(cgImage: cgImage!)
free(data)
return uiImage;
}
- See previous answers
- Weitere Antworten anzeigen
0 Stimmen
Durch Zufall, wenn jemand durch eine Google-Suche zu hören (wie ich) und sind auf der Suche nach dem Hinzufügen einer Grenze zu UIImageView, suchen Sie nach der Antwort von @mclin am unteren Rand. Funktioniert prima!