使用 CGAffineTransform 倾斜 UIImageView

2024-01-05

我试图倾斜一个矩形,使两个垂直边倾斜但平行,顶部和底部是水平的。

我正在尝试使用 CGAffineTransform 并找到了这段代码,但我不知道要在各个部分中放入什么。

imageView.layer.somethingMagic.imageRightTop = (CGPoint){ 230, 30 };
                imageView.layer.somethingMagic.imageRightBottom = (CGPoint){ 300, 150 };

#define CGAffineTransformDistort(t, x, y) (CGAffineTransformConcat(t, CGAffineTransformMake(1, y, x, 1, 0, 0)))
#define CGAffineTransformMakeDistort(x, y) (CGAffineTransformDistort(CGAffineTransformIdentity, x, y))

虽然据说这很容易,但我不知道在不同的地方放什么。

我认为图像视图将是我想要更改的图像,但是 someMagic 会发生什么。以及 imageRightTop 和 imageRightBottom。

另外我如何定义 t.

如果有更彻底的解释,我将不胜感激,因为在大多数情况下,我发现这只是如何倾斜矩形的解释。

Thanks


假设您有一个名为imageView持有对你的参考UIImageView.
我写了一个小示例来演示如何获得这种行为。这段代码的作用是创建一个新的CGAffineTransform矩阵。该矩阵与恒等变换矩阵具有相同的值,但有一个例外:位置 [2,1] 处的值。该值由控制c- 参数CGAffineTransformMake- 函数并控制沿 x 轴的剪切。您可以通过设置来更改剪切量shearValue.

代码:

Objective-C

CGFloat shearValue = 0.3f; // You can change this to anything you want
CGAffineTransform shearTransform = CGAffineTransformMake(1.f, 0.f, shearValue, 1.f, 0.f, 0.f);
[imageView setTransform:shearTransform];

Swift 5

let shearValue = CGFloat(0.3) // You can change this to anything you want
let shearTransform = CGAffineTransform(a: 1, b: 0, c: shearValue, d: 1, tx: 0, ty: 0)
imageView.transform = shearTransform

这就是shearTransform- 矩阵看起来像:

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

使用 CGAffineTransform 倾斜 UIImageView 的相关文章

  • 用于测试对象类型的通用 Swift 函数

    我正在尝试编写一个函数 该函数接受一个对象和一个类型作为参数 并返回一个布尔值 指示该对象是否属于给定类型 似乎没有 Type 类型 所以我不知道如何做到这一点 我能做的最好的就是 func objectIsType
  • 深入了解崩溃的根源

    我遇到了以下崩溃 我无法按需复制 但确实发生了足以引起用户注意的事件 该崩溃报告也已被符号化 怎么查原因啊 这似乎只发生在 4 1 上 Exception Type SIGSEGV Exception Codes SEGV ACCERR a
  • 在文件输入上反应 PWA IOS/Safari 单击事件有时不打开菜单

    我们的 React PWA 应用程序有问题 我需要群体智能 从 2021 年 10 月开始 我们的部分 iOS 15 用户会出现以下问题 用户单击 触摸
  • Swift 中的协议与多态性

    我对面向对象编程相当陌生 我正在尝试了解协议 委托和多态性 我最近观看了一个培训视频 其中宣传当您有两个相似且具有相似方法实现的类时 协议是优雅地实现此目的的最佳解决方案 这就说得通了 然而 一些额外的研究让我发现了多态性 听起来这也是一种
  • 从 iPhone 上传图像/音频到服务器无法发送大图像

    我不知道这是我的iPhone代码还是服务器的问题 我正在使用 NSURLConnection 将图像 音频从 iPhone 上传到服务器 如果图像和音频的大小小于 60KB 则可以正常上传 如果超过 60KB 我会从服务器收到 400 Ba
  • 在 UITableView 中进行分页的最佳方法

    我正在开发一个房地产应用程序 用户填写表单 最小房间数 价格等 后 应用程序查询数据源服务器 并获取具有特定键 值对 属性名称 属性地址 经度 纬度 价格等 的 json 字符串 我想做的是允许用户浏览 UITableView 中的列表 即
  • Swift:在标签背景中制作图像

    我想将标签放入带有角半径的红色矩形的图像中 条件是图像大小必须等于或略大于标签大小 为此我找到了一个类似的question https stackoverflow com questions 3037902 adding backgroun
  • 如何在 Objective C 中创建 json 字符串?

    我必须动态生成一个 json 字符串并需要发送到服务器 有谁知道如何使用NSJSONSerialization 下面是我的字符串 surveyid Survey1 responsetime dd mm yyyy hh mm ss locat
  • iOS 8 上的 NSRangeException

    我将 XCode 5 升级到 6 以便在 iPhone 6 和 6 Plus 上测试我的项目 但在启动时遇到了神秘的崩溃 NSArrayM objectAtIndex index 4 beyond bounds 0 3 First thro
  • iPhone OpenGL ES 工具中的 Tiler Utilization 统计数据意味着什么?

    我一直在尝试执行一些 OpenGL ES 性能优化 以提高 iPhone 应用程序中每秒渲染的三角形数量 但我遇到了困难 我尝试将 OpenGL ES 数据类型从固定点转换为浮点 每苹果的推荐 http developer apple co
  • 如何禁用 NSDictionary 自动按键排序

    当我添加值时NSMutableDictionary它会自动设置密钥 我如何禁用它并按照第一组第一和第二组第二排列 NSMutableDictionary filteredDictionary NSMutableDictionary dict
  • iPhone 编程游戏

    使用 Objective C 还是 C 为 iPhone 编写游戏最好 像 Flight Control 这样的游戏会用什么语言编写 图形应采用什么格式才能在 iPhone 上正确显示并快速加载 像 Flight Control 这样的游戏
  • iPhone 上的摇动视觉效果(不是摇动设备)

    在登录失败时 我宁愿避免显示警报 它太短暂了 显示警报 然后在登录屏幕上的某处显示文本似乎是重复的 因此 当用户输入错误的用户 ID 和密码时 我希望它能像 Mac 登录屏幕那样以图形方式摇动我的登录视图 有人知道是否有办法实现这一点 或者
  • 如何将 CGRect 转换为 MapRect

    我创建了一个如下方法将 CGRect 转换为 MapRect 如下所示 MKMapRect mapRectForRect CGRect rect CLLocationCoordinate2D topleft mapView convertP
  • 在UIView中画线

    我需要在 UIView 中画一条水平线 最简单的方法是什么 例如 我想在 y coord 200 处画一条黑色水平线 我没有使用界面生成器 也许这有点晚了 但我想补充一点 有更好的方法 使用 UIView 很简单 但相对较慢 此方法会覆盖视
  • Core Data + CloudKit 无法在其他设备上自动刷新?

    我的 SwiftUI 应用程序与 Core Data CloudKit 一起使用 我可以从 Mac 或 iPhone 将新条目保存到数据库中 该应用程序对所有设备使用完全相同的项目 代码库 唯一的问题是我需要关闭应用程序并重新打开它才能查看
  • iOS 版 Google Analytics 中的线程崩溃

    使用适用于 iOS 版本 3 0 9 以及一般的 3 0 x 的 Google Analytics 库 我们看到很多像下面这样的崩溃 它们似乎是随机发生的 Exception Type SIGBUS Exception Codes BUS
  • 还有比这更好的方法在通知附件中使用 Assets.xcassets 中的图像吗?

    我想将 Assets xcassets 中的图像附加到通知中 我已经寻找解决方案大约一个小时了 这似乎是执行此操作的唯一方法 func createLocalUrl forImageNamed name String gt URL let
  • 如何使 SwiftUI 列表行背景颜色扩展整个宽度,包括安全区域之外

    在 SwiftUI 中List 如何制作列表行背景 通过设置 listRowBackground 扩展视图的整个宽度 甚至在安全区域下方 例如 在宽屏 iPhone 例如 iPhone 12 Pro Max 上横向运行时 目前 该单元格在安
  • 如何将 Default.png 置于横向模式?

    我有 Default png 480 320 图像 我的问题是 当我启动应用程序时 Default png 图像以横向模式显示 这怎么可能 首先 预先旋转您的初始图像 以便获得纵向和横向版本 然后 使用Default Portrait pn

随机推荐

  • Lambda 表达式用于访问一个对象的属性,该属性是 C# 中另一个对象的属性

    我有这两门课 public class Contratos public int EntidadeFinanceiraId get set Column Nome public EntidadesFinanceiras entidadeFi
  • ITL(iTunes 库)格式

    我正在开发一个用于管理 iTunes 库 ITL 文件 的 Java 解决方案 ITL 格式是一种专有格式 我正在寻找有关 ITL 格式的实现或文档 但 Google 找不到任何有用的东西 有人有这方面的经验吗 在哪里可以找到更多信息 提前
  • jquery 有等价的 dojo.hitch() 吗?

    原谅我的无知 因为我对 jquery 不太熟悉 有没有相当于道场 hitch http dojotoolkit org reference guide 1 7 dojo hitch html 它返回一个保证在给定范围内执行的函数 编辑 根据
  • ReactJS:如何从另一个组件更新组件

    我正在尝试写一个简单的textarea字符计数器小部件ReactJS http facebook github io react 学习如何使用它 但我现在知道如何通过火来设定价值textarea onChange event 这就是我编写应
  • jQuery 获取选择选项的名称

    我有一个包含多个选项的下拉列表 每个选项都有一个名称属性 当我选择一个选项时 需要出现不同的复选框列表 当选择另一个选项时 该复选框列表应该消失并显示另一个复选框 我创建了这些复选框列表 并为它们提供了一个与所选选项的名称属性相关的 ID
  • 获取“[object HTMLDivElement]”而不是其内容?

    我只想创建原始副本divs 位于一个带有一个案例的新 div 中 Case 1 复制那些具有favouriteid 的新 div 内的类fav items 我已经尝试过 我都尝试过innerHTML and appendChild 方法 当
  • 如何将多个jar添加到groovyConole/groovysh的类路径中?

    我不得不问这个问题 这感觉很荒谬 但我似乎无法将多个 jar 文件添加到 groovyConsole 和 groovysh 的类路径中 如何将多个 jar 文件添加到类路径 这是我尝试过的 groovyConsole cp lib comp
  • Sequelize - 如何仅返回数据库结果的 JSON 对象?

    所以我想要返回数据库结果而不是其他 目前我正在返回一大块 JSON 数据 如下所示 但我只需要 dataValues 属性 我不想使用这一点JSON检索它 tagData 0 dataValues tagId 我刚刚注意到 当它发现并且不创
  • Scala中有SoftHashMap吗?

    我知道这个问题是针对java的 https stackoverflow com questions 264582 is there a softhashmap in java 但这些实现似乎都不能很好地配合scala collection
  • 主循环旁边的多处理

    我现在正在为一个问题苦苦挣扎一段时间 我正在构建一个使用主循环的小脚本 这是一个需要用户注意的过程 用户对步骤做出响应 然后使用某些功能会发生一些神奇的事情 除此之外 我想生成另一个进程来监视计算机系统的某些特定事件 例如按特定键 如果发生
  • 使用C#设置HTML输入文本框的显示文本

    我的 ASPX 页面中有一个 HTML 输入框 如下所示
  • 类似于 .NET 中的可等待计时器

    在非托管 Win32 世界中 我习惯于用创建等待定时器 http msdn microsoft com en us library windows desktop ms682492 28v vs 85 29 aspx可用于同步调用的 API
  • 为什么带有毫秒参数的clearTimeout不起作用?

    我正在构建一个简单的横幅旋转器 事实是 当它在没有按下任何按钮的情况下旋转时 工作正常 但是当我按下某个按钮来更改横幅并清除时间时 它不起作用 看来时间不太清楚 var tempo 5000 var elemento var quantos
  • 使用 LINQ to SQL 时这是一个虚假警告吗?

    根据我见过的许多 LINQ 示例 我正在使用类似于以下代码的代码创建自己的数据上下文和表 class MyDatabase DataContext public Table
  • 将 IIS 应用程序池回收事件记录在 Windows 事件日志中

    我想得到IIS 7应用程序池回收 启动 停止等事件要记录到Windows事件日志 我按照中概述的步骤操作本文 http www iisadmin co uk p 17但没有取得任何成功 我重新启动了应用程序池 事件日志中没有记录任何内容 我
  • CloudWatch 自定义指标未按预期工作

    我已经根据发送到 CloudWatch 的一些日志文件创建了 7 个其他指标 没有出现任何问题 前段时间我们遇到了 MongoDB 连接问题 我通过日志发现了这个问题 所以我想创建一个 Metric 以便我可以基于它创建一个 Alarm 我
  • 带有 Plastic SCM 的超大型存储库

    我们正在研究 Plastic SCM 作为 Subversion 的可能替代方案 用于我们产品的版本控制 除了非常庞大的源代码库之外 我们还拥有大量的二进制资产 主要是艺术资产 还包括一些文档 AVI 等 简单说一下 svn 检查我们的 t
  • 变长系列

    我试图确定是否可以在 Excel 中编写以下计算 其中 n 是变量并且来自用户输入 n的值是正数并且等于或大于1 是否可以写一个公式而不是使用vba 2 1 2 2 2 3 2 n If n 1 then the calculation w
  • JavaFX:对单击、双击和三次单击的反应

    我正在尝试配置某些操作来响应鼠标单击次数 在我看来 单击和三次单击被检测到并应用 但双击实际上不起作用 我尝试做类似的事情 if doubleClick else if tripleClick else if singleClick 检查顺
  • 使用 CGAffineTransform 倾斜 UIImageView

    我试图倾斜一个矩形 使两个垂直边倾斜但平行 顶部和底部是水平的 我正在尝试使用 CGAffineTransform 并找到了这段代码 但我不知道要在各个部分中放入什么 imageView layer somethingMagic image