我希望用一个用户的facebook个人资料图片创建一个简单的节点,其中图片有圆角(或完整的圆圈).我按如下方式创建节点:
SKNode *friend = [[SKNode alloc] init]; SKTexture *texture = [SKTexture textureWithImage:user[@"fbProfilePicture"]]; SKSpriteNode *profilePic = [SKSpriteNode spriteNodeWithTexture:texture]; [friend addChild:profilePic];
除了使用SKCropNode(这似乎是一个糟糕的解决方法)之外,我找不到任何适当的文档来创建带圆角的图像
解决方法
试试这个:
// your profile picture UIImage *fbProfilePicture = [UIImage imageNamed:@"fbProfilePicture"]; // create the image with rounded corners UIGraphicsBeginImageContextWithOptions(fbProfilePicture.size,NO,0); CGRect rect = CGRectMake(0,fbProfilePicture.size.width,fbProfilePicture.size.height); [[UIBezierPath bezierPathWithRoundedRect:rect cornerRadius:20.0] addClip]; [fbProfilePicture drawInRect:rect]; UIImage *roundedImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); // use the roundedImage as texture for your sprite SKTexture *texture = [SKTexture textureWithImage:roundedImage]; SKSpriteNode *profilePic = [SKSpriteNode spriteNodeWithTexture:texture size:CGSizeMake(fbProfilePicture.size.width,fbProfilePicture.size.height)]; [self addChild:profilePic];
圆角部分来自this answer.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。