如何在 iPhone 上旋转 Quartz 绘制的文本

2023-12-04

I want to draw some texts using Quartz. Now the app draws alt text , but I want it to show as "0123456789". Is there any way to show its normal orientation?

这是我的代码:

    //set image view
 drawImage = [[UIImageView alloc] initWithImage:nil];
 drawImage.frame = self.view.frame;
 [self.view addSubview:drawImage];

 UIGraphicsBeginImageContext(self.view.frame.size);  // begin
 // current context
 CGContextRef context = UIGraphicsGetCurrentContext();

 CGContextSelectFont(context, "Courier", 40,  kCGEncodingMacRoman);
 CGFloat white[] = {1.0, 1.0, 1.0, 1.0};
 CGContextSetFillColor(context, white);
 CGContextShowTextAtPoint(context, 0, 30, "0123456789", strlen("0123456789"));

 // get image
 drawImage.image = UIGraphicsGetImageFromCurrentImageContext();
 UIGraphicsEndImageContext();    // end

在 Quartz 中,图像会上下颠倒,因为它的 Y 轴是倒置的。

iPhone 的 Y 轴从上到下为正,即原点位于左上角,而在 Quartz 和 OpenGL 中,坐标与良好的旧几何图形相同,即原点位于左下角。

以下是解决 Quartz 反转问题的一些代码:

CGContextRef ctx = UIGraphicsGetCurrentContext();
// Tanslate and scale upside-down to compensate for Quartz's inverted coordinate system
CGContextTranslateCTM(ctx, 0.0, rect.size.height);
CGContextScaleCTM(ctx, 1.0, -1.0);

这是一篇关于它的有趣文章,作者说新加坡的一个团队由于无法解决这个反转问题而放弃了 iPhone 项目:http://trandangkhoa.blogspot.com/2009/07/iphone-os-drawing-image-and-stupid.html

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

如何在 iPhone 上旋转 Quartz 绘制的文本 的相关文章

  • 在不同的捆绑包上测试 iPhone 应用内购买?

    我们有一组 iPhone 应用程序的 Beta 测试人员 最近 我们在应用程序中添加了应用内购买功能 在此之前 我们会使用单独的捆绑 ID 和名称向 Beta 测试人员发送临时版本 以便他们可以在手机上拥有商店版本和临时版本 然而 似乎我们
  • iPhone 允许光传感器作为输入吗?

    我只是想知道 iPhone 的开发是否允许使用光传感器 作为按钮或动作元素 我在网上找到了这个链接 可以使用光传感器作为按钮吗 存档 Touch Arcade 如果有人能阐明这个问题 我将不胜感激 Apple 代表的官方答复位于苹果开发者论
  • 如何在 Xcode 4 中在 .h 和 .m 之间切换

    刚刚安装的 Xcode 4 到目前为止一切顺利 除了 Apple 更改了所有键盘快捷键 有人知道如何在 h 和 m 之间切换吗 苹果改变了各种快捷键 但要在标头和实现之间切换 新的快捷键是 You can change it back to
  • 如何在 ios 7 上更改重新排序控制图像

    我正在寻找一种更改重新排序控件图像和大小的方法 我使用此代码来更改重新排序图像 void tableView UITableView tableView willDisplayCell UITableViewCell cell forRow
  • ViewWillAppear 没有被 UISplitViewController 调用

    背景和目标 我有一个基于 UISplitViewController 的 iPad 应用程序 到目前为止它支持 4 个方向 但现在我想将其锁定为仅横向 我变了shouldAutorotateToInterfaceOrientation左视图
  • 如何减少典型 iPhone 应用程序的启动时间?

    需要明确的是 这是一个普通的 iPhone 应用程序 而不是游戏 我在网上读过几次 一些开发人员提到他们正在努力改进 减少应用程序的启动时间 但从来没有提供任何关于如何做到这一点的良好背景信息 那么问题很简单 如何减少 iPhone 应用程
  • UIDatePickerModeCountDownTimer模式中的UIDatePicker:如何更改为分钟和秒模式?

    我在故事板中添加了 UIDatePicker 并将模式设置为 CountDownTimer 它只显示小时和分钟 但我需要的是分钟和秒模式 我不需要小时列 需要分钟和秒列 我尝试更改间隔 但最小值是 1 分钟 是否可以 我怎样才能做到这一点
  • 如何在 Apple Watch Extension/App 和 iOS App 之间建立通信通道

    我正在探索 WatchKit SDK 当我有 WatchKit 应用程序时 是否可以在 WatchKit 应用程序上从 iPhone 应用程序设置值 例如文本 设置 我可以从 iPhone 应用程序调用 WatchKit 应用程序扩展中的函
  • MPMusicPlayerController 和 setNowPlayingItem

    我在用着MPMusicPlayerController 特别是与setNowPlayingItem协议 它是为了cydia 但我在制作时遇到了一些问题和理论的警告 似乎某些协议和方法不起作用 我收到如下警告 Tweak xm 177 war
  • 玻璃效果 UIView

    我想知道如何在 UIView 上添加玻璃效果 我想像这样的效果 http pttrns com pickers detail 0dc9d9f6c6a7577613b3453768eee3b3在灰色半透明视图上 您 可以在这里看到 Thank
  • PresentModalViewController 不执行任何操作

    我有一个 UIViewController parent 调用presentModalViewController与另一个 UIViewController child on viewDidLoad If parent没有 UINaviga
  • Ubuntu 上的 Vim:文本渲染错误,奇怪地重复和消失

    不久前我在 ubuntu 12 04 上安装了 vim 有时 当我在代码上运行光标 使用键盘 而不是鼠标 时 文本会消失 就好像渲染字符时出现问题一样 当我再次运行光标时 它通常会重新出现 这似乎是随机发生的 但通常足以让人恼火 为了更清楚
  • 避免“在此块中强烈捕获自身可能会导致保留周期”消息

    每次我必须在块内使用全局变量或属性时 如下所示 self save if isItSaving NO self saveMyFile 我必须像这样重写 BOOL iis isItSaving id myself self self save
  • iPhone 快照,包括键盘

    我正在寻找拍摄整个 iPhone 屏幕 包括键盘 的正确方法 我找到了一些截取屏幕的代码 CGRect screenCaptureRect UIScreen mainScreen bounds UIView viewWhereYouWant
  • Xcode 3.1.4 中内置分析器

    我想知道 Xcode 3 1 4 中内置的分析器是否使得单独使用 LLVM Clang 静态分析器变得多余 请参考这里的原文 使用 LLVM Clang 静态分析器查找内存泄漏 http www fruitstandsoftware com
  • iPhone - 如何在矩形中间绘制文本

    有没有一种方法可以在矩形中间绘制文本 我可以找到各种对齐方式 但我尝试过的任何方法都不能将文本垂直居中在矩形中 有没有一种简单的方法可以做到这一点 或者有什么方法可以将矩形居中然后在其中绘制 我直接绘制到 CGContext 尝试使用 NS
  • 我什么时候应该对 IBOutlet 使用弱或强限定符? [复制]

    这个问题在这里已经有答案了 可能的重复 ARC 下 IBOutlets 应该强还是弱 https stackoverflow com questions 7678469 should iboutlets be strong or weak
  • 使用 Storyboard 时获取 NSManagedObjectContext

    目标是获取当前的 NSManagedObjectContext 以便使用 Core Data 在 iOS 4 3 中 我将 UINavigationController 的委托设置为 AppDelegate 如下所示 在 AppDelega
  • 将名称字符串编码为唯一的数字

    我有一大堆名字 数以百万计 他们每个人都有一个名字 一个可选的中间名和一个姓氏 我需要将这些名称编码为唯一代表这些名称的数字 编码应该是一对一的 即一个名称只能与一个数字相关联 一个数字只能与一个名称相关联 对此进行编码的明智方法是什么 我
  • 在 2D 中将一个点旋转另一个点

    我想知道当一个点相对于另一个点旋转一定角度时如何计算出新的坐标 我有一个块箭头 想要将其相对于箭头底部中间的点旋转角度 theta 这是允许我在两个屏幕控件之间绘制多边形所必需的 我无法使用和旋转图像 从我到目前为止所考虑的情况来看 使问题

随机推荐

  • 正则表达式从字符串中提取电子邮件

    我想知道通过使用正则表达式是否可以从以下字符串中提取电子邮件 以下 RE 模式是 与所有字符串匹配 它对某些字符串效果很好 但不是全部 我想匹配与电子邮件模式匹配的所有字符串 包括所有域 例如 some url com 或 some url
  • 使用 findOne 更新 mongoDB 文档中的子字段并保存

    我正在尝试更新 mongoDB 文档中的特定子字段 并决定首先找到有问题的对象 然后保存更新的对象 由于某种原因 保存选项似乎忽略了我的更改 我的集合中有一个对象 它符合以下模式 var tschema mongoose Schema a
  • 将 mysql 查询从 php 网页保存到 excel 文件

    我在 mysql 数据库中有一个表 我想要做的是在 php 页面中 运行 select 语句并将结果输出到 excel 文件中 我看过很多教程并尝试过它们 但是这些教程将网页的内容输出到 Excel 文件中 我只想要 mysql 表数据和标
  • catch (...) 在 throw 上起作用吗?没有对象?

    当堆栈上方没有正在处理的未决异常时 C 标准规定以下代码应该发生什么 try throw catch cerr lt lt Caught exception lt lt endl 没有物体的投掷会被接住吗 来自 2003 C 标准 15 1
  • 谷歌地图显示:没有问题

    我正在尝试设置一个 Google 地图 该地图将在单击链接时显示 然后在单击另一个链接时隐藏 一切工作正常 除了当我从 display none 显示地图时 它无法正常显示 我读到有关使用 google maps event trigger
  • 字符串中的多个引号

    在Python中我将如何编写字符串 BOS 我尝试输入 BOS 但这给出了输出 BOS 在前面添加反斜杠 您可以使用三引号 BOS 你做了什么 BOS 也很好 您在输出中得到反斜杠 但它们不是字符串的一部分 gt gt gt a BOS g
  • JavaScript 日期函数在 Firefox 浏览器中返回“Date {Invalid Date}”

    面临一个问题JavaScript Date功能 returns Date Invalid Date 在 Firefox 浏览器中 但在 Google Chrome 中工作正常 My Input is new Date Sat Jan 01
  • 将velocityInView与UIPanGestureRecognizer结合使用

    我有一个自定义滑块类型的对象 我希望使其更有用 目前我使用UIPanGestureRecognizer and translationInView使其发挥作用 它工作得很好 但我想要某种速度 让它感觉更有用 我已经尝试了一些方法 但不太清楚
  • 测量线程的上下文切换时间

    我想计算上下文切换时间 并且我正在考虑使用互斥体和条件变量在两个线程之间发出信号 以便一次只有一个线程运行 我可以用CLOCK MONOTONIC测量整个执行时间和CLOCK THREAD CPUTIME ID测量每个线程运行的时间 那么上
  • 如何在 IBM MQ JMS 接口上使用 JMS 属性?

    我正在使用带有 MQ 6 0 2 的 MQ JMS 接口 似乎只支持预定义的属性 而不支持任意的属性 例如 我可以正确地getJMSCorrelationID getJMSPriority 等等 但是 当我在发件人上设置任意属性时 mess
  • 如何查看Google Play服务版本?

    在我的应用程序中 我需要检查 Google Play 服务版本 安装在用户设备中 是否可以 如果是的话 我该怎么做 我找到了简单的解决方案 int v getPackageManager getPackageInfo GoogleApiAv
  • CMSIS 库是否应该包含在版本控制中? [复制]

    这个问题在这里已经有答案了 通常 我曾经在版本控制中包含芯片供应商 ST 提供的设备特定标头和源以及 CMSIS Core 标头 数量不多 也没有更新的习惯 我使用STM32微控制器 但我不使用立方体框架 or the 标准外设库 最近 我
  • jQuery 获取 XML 中的匹配节点

    一点背景知识 我使用 XSLT 在页面上呈现一些 XML 但我们决定使其更具交互性 所以现在我正在执行 jQuery ajax 调用来返回 XML 并在 JavaScript 中解析它 我已经能够使用类似的代码从中提取特定节点 var qp
  • 为什么不能使用 Q_OBJECT 宏进行编译(链接)?

    我用 PyQt 制作了一个项目的原型并使其在那里工作 现在我尝试将其转换为 C 但遇到了一些问题 如果我不放入 Q OBJECT 宏 它会编译并运行 但如果我将其注释掉 则会出现以下错误 Undefined symbols vtable f
  • 将一组数据行绑定到 datagridview

    我尝试了以下代码 但 datagridview 中没有显示任何内容 有什么建议么 string strFilterOption dtcolnPurchaseProductExpProductNo 270 dgvProductExp Data
  • 当视图样式设置为详细信息时,如何在 Winforms ListView 中显示图标和文本?

    我只想有两列 例如 Item Value icon Gold 10 icon Silver 2 icon Iron 1 这可能吗 或者我需要为图标添加另一列吗 查看文档以了解SmallImageList of the ListView控制和
  • C语言中删除文件中的一个字符

    如何使用C程序从文件中删除几个字符 我找不到它的任何预定义函数 为了理解目的 我试图通过套接字发送一个文件 如果成功发送 N 个字节 我想从文件中删除这些字节 最后 该文件将为空 还有其他方法可以有效地做到这一点吗 谢谢 普拉迪普 如果它们
  • d3 单击创建圆并单击删除

    我试图单击一个圆圈将其删除 但单击画布将创建一个圆圈 我确实想从数据中实际删除圆圈及其对象 而不是仅仅使其透明 单击圆圈时调用该函数 function removeElement d d3 select this remove 通过单击圆圈
  • 有什么方法可以获取 Firebase Auth 用户 UID 吗?

    我希望通过 Node JS 或 Javascript API 从 Firebase 获取身份验证用户 Auth Users UID 我附上了它的屏幕截图 以便您了解我在寻找什么 希望你们能帮我解决这个问题 Firebase 3 中的身份验证
  • 如何在 iPhone 上旋转 Quartz 绘制的文本

    I want to draw some texts using Quartz Now the app draws but I want it to show as 0123456789 Is there any way to show it