gpt4 book ai didi

ios7 - 如何在不使用 mask 的情况下创建带有圆角的 SKTexture

转载 作者:行者123 更新时间:2023-12-04 17:00:26 32 4
gpt4 key购买 nike

我想用用户的 facebook 个人资料图片创建一个简单的节点,其中图片有圆角(或一个完整的圆圈)。我创建节点如下:

SKNode *friend = [[SKNode alloc] init];

SKTexture *texture = [SKTexture textureWithImage:user[@"fbProfilePicture"]];
SKSpriteNode *profilePic = [SKSpriteNode spriteNodeWithTexture:texture];

[friend addChild:profilePic];

除了使用 SKCropNode 之外,我找不到任何合适的文档来创建带有圆角的图像(这似乎是一个糟糕的解决方法)

最佳答案

这是它在 中的样子 swift 通过翻译上述答案,塞巴斯蒂安的答案。该方法接收图片的名称并返回一个带有圆角的节点。

class func roundSquareImage(imageName: String) -> SKSpriteNode {
let originalPicture = UIImage(named: imageName)
// create the image with rounded corners
UIGraphicsBeginImageContextWithOptions(originalPicture!.size, false, 0)
let rect = CGRectMake(0, 0, originalPicture!.size.width, originalPicture!.size.height)
let rectPath : UIBezierPath = UIBezierPath(roundedRect: rect, cornerRadius: 30.0)
rectPath.addClip()
originalPicture!.drawInRect(rect)
let scaledImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext();

let texture = SKTexture(image: scaledImage)
let roundedImage = SKSpriteNode(texture: texture, size: CGSizeMake(originalPicture!.size.width, originalPicture!.size.height))
roundedImage.name = imageName
return roundedImage
}

关于ios7 - 如何在不使用 mask 的情况下创建带有圆角的 SKTexture,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22891392/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com