【问题标题】:UIView transform base arcUIView 变换基弧
【发布时间】:2014-11-03 04:17:45
【问题描述】:

我想对 UIView 应用变换,使其看起来像矩形的曲线或弧线(就像它一样)。 这是之前和之后的 2 张图片。

http://i.stack.imgur.com/QNWxv.jpg

http://i.stack.imgur.com/xA7Sd.jpg

我怎样才能做到? 提前致谢。

【问题讨论】:

  • 你试过什么?发布您的一些尝试,人们可以帮助您引导您走上正确的轨道。如果您还没有尝试过任何事情,请将问题分解为更小的部分并继续尝试,直到您遇到困难。当您自己没有尝试过任何事情时,没有人会给您实现。
  • 感谢您的想法。实际上,我之前尝试过对其进行切片。它可以在模拟器上工作,但在真实设备上,它没有足够的性能来流畅地工作。所以我向人们询问其他解决方案(如转换或其他类似的解决方案)。再次感谢。

标签: ios objective-c iphone macos


【解决方案1】:

最简单的方法是创建 UIView 并将其转换为图像 (UIView)。有许多函数可以转换图像。

以下内容在 Image 中捕获 UIView

UIGraphicsBeginImageContext(myView.frame.size);
[myView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
NSData *data=UIImagePNGRepresentation(viewImage);
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *strPath = [documentsDirectory stringByAppendingPathComponent:@"myimage.png"];
[data writeToFile:strPath atomically:YES];

转换图像可以这样完成:

UIGraphicsBeginImageContextWithOptions(newSize, NO, 0.0);
[theImage drawInRect:CGRectMake(0, 0, newSize.width,newSize.height)];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

【讨论】:

  • 亲爱的文森特,我真的很重视你的想法。你能建议我做一些我可以做的变换吗?我搜索了核心图像编程指南,但找不到任何与之匹配的变换。
猜你喜欢
  • 2012-04-12
  • 1970-01-01
  • 1970-01-01
  • 2020-02-19
  • 1970-01-01
  • 2012-02-20
  • 2016-09-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多