旋转UIImage自定义角度

2024-05-05

我想以自定义角度旋转 UIImage (不是 UIImageView) 我跟着这个帖子 https://stackoverflow.com/questions/917713/uiimage-rotation-custom-degrees但这对我不起作用。

有人可以帮忙吗?谢谢。

更新: 下面的代码完成了一些工作,但是旋转后我丢失了一些图像:

我应该改变什么才能让它正确? (屏幕截图中的黄色之间是我的 UIImageView bg)

- (UIImage *) rotate: (UIImage *) image
{
    double angle = 20;
    CGSize s = {image.size.width, image.size.height};
    UIGraphicsBeginImageContext(s);
    CGContextRef ctx = UIGraphicsGetCurrentContext();
    CGContextTranslateCTM(ctx, 0,image.size.height);
    CGContextScaleCTM(ctx, 1.0, -1.0);

    CGContextRotateCTM(ctx, 2*M_PI*angle/360);
    CGContextDrawImage(ctx,CGRectMake(0,0,image.size.width, image.size.height),image.CGImage);
    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return newImage;

}

此方法返回您旋转角度的图像

#pragma mark -
#pragma mark Rotate Image 

- (UIImage *)scaleAndRotateImage:(UIImage *)image  { 

    CGImageRef imgRef = image.CGImage;

    CGFloat width = CGImageGetWidth(imgRef);
    CGFloat height = CGImageGetHeight(imgRef);

    CGAffineTransform transform = CGAffineTransformIdentity;
    CGRect bounds = CGRectMake(0, 0, width, height);

    CGFloat boundHeight;

    boundHeight = bounds.size.height;  
    bounds.size.height = bounds.size.width; 
    bounds.size.width = boundHeight;
    transform = CGAffineTransformMakeScale(-1.0, 1.0);
    transform = CGAffineTransformRotate(transform, M_PI / 2.0); //use angle/360 *MPI

    UIGraphicsBeginImageContext(bounds.size);   
    CGContextRef context = UIGraphicsGetCurrentContext();   
    CGContextConcatCTM(context, transform); 
    CGContextDrawImage(context, CGRectMake(0, 0, width, height), imgRef);
    UIImage *imageCopy = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

    return imageCopy;   

}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

旋转UIImage自定义角度 的相关文章

  • Three20中的TTSpeechBubbleShape仅绘制“语音”三角形顶部和底部

    因此 我将 Three20 库用于 iPhone 应用程序 并希望将 TTSpeechBubbleShape 样式用于视图 但三角形似乎不想画在左边或右边 我在源代码中看到它有很多几何图形 并且想知道是否有人解决了这个问题或知道如何解决它
  • 如何让 Chrome Cast 在 iOS 后台运行?

    我有一个简单的问题 当您进入 iPhone 的主屏幕并且不退出应用程序时 chrome Cast 设备会停止在屏幕上播放视频 当应用程序在后台运行时 我如何才能保持播放状态 如果您有一个视频应用程序并且它在投射设备中运行 您可能需要以下行为
  • 如何在UiView中添加UIImagePickerController

    如何在TabBarApplication中的UiView中添加UIImagePickerController 无论您是否在选项卡中 此代码都会进入您视图的 ViewController 类 当您需要时创建一个选择器 UIImagePicke
  • 渐变方向从左到右

    我完全被这个问题难住了 它应该如此简单 以至于让我发疯 我正在使用这个苹果反射教程 苹果反射示例 http developer apple com library ios samplecode Reflection Listings MyV
  • Google Cardboard - Cardboard VR 套件有 iPhone / iOS 入门项目吗?

    我正在看Google Cardboard 套件 一种廉价的 VR 设置 https developers google com cardboard 使用 Android 设备玩 3d VR 游戏 我看到他们有一个 Android 演示项目
  • 如何设置 ABPeoplePickerNavigationController 的提示?

    这是我用来调用人员选择器的代码 但提示标签文本不会更改 ABPeoplePickerNavigationController picker ABPeoplePickerNavigationController alloc init pick
  • 自定义 UITableViewCell 错误

    我收到此错误 Terminating app due to uncaught exception NSUnknownKeyException reason
  • 如何知道两个 NSDate 是否在同一天

    你知道如何知道两个NSDate是同一天 我想考虑到区域设置 使用a可能很容易timeIntervalSinceDate 但星期一 23H58 和星期二 00H01 不在同一天 处理NSDate和计算区域设置不是很容易 NSCalendar
  • 为什么我无法更改 UIBarButtonItem 的标题?

    我想改变UIBarButtonItem s title 但这段代码不起作用 void viewDidLoad self smay void smay AppDelegate apd AppDelegate UIApplication sha
  • 通过选择器使用自定义比较器的 NSSortDescriptor 问题

    我想将排序描述符与自定义比较器一起使用 NSSortDescriptor sortDescriptor NSSortDescriptor alloc initWithKey object dateTime ascending YES sel
  • iOS5 和 Facebook API

    我想将我的应用程序与 Facebook 集成并从 github 下载 Facebook ios sdk 但是 该 sdk 适用于 Xcode 4 0 代码库 我正在使用 Xcode 4 2 for iOS 5 beta 5 应用程序 是否有
  • 在 UIWebView 中禁用复制和粘贴

    几乎 我已经尝试了一切方法来禁用复制 粘贴UIWebView但对我来说没有任何作用 我正在加载我的UIWebView来自字符串 字符串数组 如下所示 webView loadHTMLString NSString stringWithFor
  • admob ios7错误音频框架

    我正在将 admob SDK 当前的 集成到我的上一个应用程序 IOS7 Xcode5 中 并且出现了一个新错误 在新项目上也是如此 我想我错过了一些东西 但我多次重新启动该过程 但错误仍然存 在 Undefined symbols for
  • 如何从地址簿中获取一个人的电话号码?

    我想做的就是让用户从地址簿中选择一个号码 我在这个问题中找到了代码 如何从地址簿联系人获取电话号码 iphone sdk https stackoverflow com questions 286207 how to get a phone
  • 如何制作带边框的半圆角(顶角圆角)文本视图?

    How to make a half rounded Top corner rounded textview or tableview with the borderwidth and borderColor 这并不完美 但你可以这样做 i
  • 在 Android 和 iOS 上播放的视频/音频编解码器设置是什么

    哪些编解码器设置将生成可在 Android videoView 和 iOS UIWebView 上播放的有效视频 安卓 http developer android com guide appendix media formats html
  • numberOfRowsInSection:重新加载数据时未调用

    我有一个UITableView使用数组来列出数据 这很好用 我也有一个UISearchBar用于搜索那个tableview 当 tableviews 数组中的数据匹配时 这些行将添加到另一个可变数组中 并且cellForRowAtIndex
  • 如何重置(即取消缩放)UIScrollView?

    我有一个 UIScrollView 其中包含图像和分段控件 该控件允许用户在 ScrollView 内切换图像 如果我只是将图像交换到 UIImageView 内部 它将以放大状态显示新图像 如何将 UIScrollView 重置回未放大状
  • 使用动画过滤 UITableViewCells - iPhone 开发

    这看起来很简单 但到目前为止我还无法找到解决方案 基本上我有一个带有两个选项的分段控件 第一个是默认值 加载时自动显示 选择后会在表视图中显示所有行 第二个是限制显示行的过滤器 这与 iPhone 电话应用程序的 最近 选项卡上使用的设置完
  • 如何以编程方式伪造 UIButton 的触摸事件?

    我正在编写一些单元测试 并且由于这个特定应用程序的性质 重要的是我要达到尽可能高的水平UI链尽可能 因此 我想做的是以编程方式触发按钮按下 就好像用户按下了按钮一样GUI 是的 是的 我could只需致电IBAction选择器 但同样 这个

随机推荐

  • 嵌入式+实时开发培训的建议[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我目前正在学习嵌入式实时工程职业 但发现找到好的培训材料有些困难 特别是因为您无法像桌面应用程序开发那
  • 使用 BeagleBone Black 内核 >= 3.8 打开/关闭 USB 电源

    我需要 关闭 gt 睡眠几秒钟 gt 打开 beaglebone black 的 USB 电源 能够对连接到 USB 的设备 华为 E220 调制解调器 进行硬件重置 已经尝试过软重置 使用取消绑定 绑定和授权0 1 但软件重置不足以使设备
  • 如何在 Facebook 中嵌入 iframe?

    我的一位同事为我们工作的公司维护着一个 Facebook 页面 该公司希望在他们的 Facebook 上放置一个小部件 以允许用户输入他们的电子邮件并订阅我们的时事通讯 做 Facebook 的同事不是程序员 所以他让我做一些东西 我制作了
  • jQuery 动画 .prepend

    我不想简单地将 HTML 转储到我希望其动画的页面中 而是如何将下面的 jQuery 更改为插入 HTML 时动画或向下滑动 button click function j tweets ul prepend j refreshMe ul
  • python 线程是如何工作的?

    我想知道 python 线程是并发运行还是并行运行 例如 如果我有两个任务并在两个线程中运行它们 它们是同时运行还是计划同时运行 我知道GIL并且线程仅使用一个 CPU 核心 这是一个复杂的问题 需要大量解释 我将坚持使用 CPython
  • Python-从Excel文件读取时间时未获得正确的日期时间

    我有一个 Excel 文件 其中有 3 列作为日期时间或日期或时间字段 我正在通过阅读它xlrd包裹 我有时间milliseconds我想当我尝试将其转换回日期时间时我得到了错误的结果 我尝试将文件转换为csv以及 这也没有帮助 我得到了我
  • 如何设置 PHP CodeSniffer 来扩展 WordPress 编码标准 + VSCode 中的自动修复错误?

    如何使用扩展 WordPress 编码标准的个人规则为项目设置 PHP CodeSniffer 保存时在 VSCode 中自动修复错误 I have 全局安装 CodeSniffer https github com squizlabs P
  • Java 中修剪字符串的可能前缀

    I have String str 我想从中提取不包括可能的前缀的子字符串 abc 我想到的第一个解决方案是 if str startsWith abc return str substring abc length return str
  • 樱桃选择问题:还应用了之前提交的更改

    在我的项目中 我几个月前发布了一个版本 在该版本发布之后 我在 master 分支上做了很多更改 如果我遇到上一个版本中存在的一些错误 我会在主分支上修复它们 然后将它们挑选到我在上一个版本中创建的分支 然后我可以提供一个仅包含错误修复的新
  • 在 UNIX 时间戳 Shell/Bash 中将日期与时区转换

    我需要将日期从格式为 yyyy mm dd hh mm ss TZ 的字符串转换为 UNIX 时间 TZ 时区 到目前为止我所做的是将没有时区的 yyyy mm dd hh mm ss 格式的日期转换为时间戳 dateYMD 2019 2
  • 单击“提交”后如何将 Google 表单(新版本)重定向到自定义 URL

    新版本的 Google Forms 很好 但它缺少 1 个关键功能 这应该很容易 但我不知道如何实现它 创建 Google 表单时 一旦访问者点击 提交 我想将他们重定向到自定义网址或自定义感谢页面 即http cnn com http c
  • pytorch 的 IDE 自动完成

    我正在使用 Visual Studio 代码 最近尝试了风筝 这两者似乎都没有 pytorch 的自动完成功能 这些工具可以吗 如果没有 有人可以推荐一个可以的编辑器吗 谢谢你 使用Pycharmhttps www jetbrains co
  • 将“-Filter”与变量一起使用

    我尝试过滤掉这样的东西 Get ADComputer Filter name like chalmw dm and Enabled eq true 这就像一个魅力 并且得到了我想要的 现在我想要 类似名称 部分作为变量 如下所示 Get A
  • 使用 Geoserver 中的 Javascript 动态设置 WMS 图层样式

    我的 Web 应用程序通过 Geoserver 2 6 0 从 Postgis 向 OpenLayers 地图提供 WMS 图层 工作正常且符合预期 用户可以通过 WMS 图层的属性 通过 HTML 中的下拉框 过滤 WMS 图层的某些元素
  • “推”匹配 UIInterpolatingMotionEffect? (即访问 UIInterpolatingMotionEffect 上的“物理”)

    借助 UIInterpolatingMotionEffect 扭转 iPhone 即可让图像移动 现在 想象一个红色块 您将使用 UICollisionBehavior 和 UIDynamicItemBehavior 在屏幕上 弹跳 当用户
  • 为什么分配大块内存会失败,而重新分配小块内存却不会失败

    这段代码的结果是x指向一块大小为 100GB 的内存 include
  • 无法向引导服务器注册 com.XXXXX.deviceapp

    我在设备中运行时遇到此错误 请确实需要全面的帮助来解决此问题 无法向引导服务器注册 com XXXXX deviceapp 错误 未知错误代码 这通常意味着该进程的另一个实例已经在运行或挂在调试器中 程序收到信号 SIGABRT 我就遇到过
  • ASP.NET、SQL 2005“分页”

    这是该问题的后续 用于在表单中显示单行的 ASP NET 下一个 上一个按钮 https stackoverflow com questions 1014526 asp net next previous buttons to displa
  • 单击其他 div 时切换类中的单个元素 Jquery

    我正在尝试为 WordPress 构建设置一个简单的评论切换 CSS div class commenttoggle p class popcom Show Comments p Clickable Button div div class
  • 旋转UIImage自定义角度

    我想以自定义角度旋转 UIImage 不是 UIImageView 我跟着这个帖子 https stackoverflow com questions 917713 uiimage rotation custom degrees但这对我不起