Ich versuche, dieses Bild zu beschneiden, die eine SKSpriteNode ist:ein Bild von oben in Swift Cropping
ich von der Spitze dieses Bild zuzuschneiden versuche, so dass ich den Boden halten Halbkreis dieser Form.
So verwende ich diese beiden Methoden, um diese Aufgabe zu erfüllen: Zum Beispiel würde es diese abgeschnitten
func recalculateScore() {
currentScore -= decreaseRate
let image = UIImage(cgImage: (vial.texture?.cgImage())!)
vial.texture = SKTexture(image: cropBottomImage(image: image))
}
func cropBottomImage(image: UIImage) -> UIImage {
let height = CGFloat(image.size.height/3)
let rect = CGRect(x: 0, y: image.size.height - height, width: image.size.width, height: height)
return cropImage(image: image, toRect: rect)
}
func cropImage(image:UIImage, toRect rect:CGRect) -> UIImage {
let imageRef:CGImage = image.cgImage!.cropping(to: rect)!
let croppedImage:UIImage = UIImage(cgImage:imageRef)
return croppedImage
}
Dies ist jedoch zu diesem Ergebnis führt:
Es ist, als ob es komprimiert wurde. Ich denke, mein Problem könnte in dieser Zeile sein: let rect = CGRect (x: 0, y: image.size.height - Höhe, Breite: image.size.width, Höhe: Höhe)
Ist die CGRect koordinieren von (0,0) liegen in der obersten linken Ecke? Ich bin ein wenig verwirrt, was die x- und y-Parameter für den CGRect bedeuten.
Sie nicht Ihre Sprite Ändern der Größe, so ist es vertikal dehnen – Knight0fDragon
Warum verwenden Sie SKCropNode nicht? –