iphone - 将点从图像转换为 UIImageView 点,contentMode-aware

标签 iphone objective-c ios cocoa-touch

假设我有一张图像(例如 1024 x 768 像素)显示在 UIImageView(例如 300 x 300 像素)中。 现在,我想从图像中转换一个点,例如一个人 Nose 的位置(x:500,y:600),到 UIImageView 上的相应点,并考虑其 contentMode。

如果contentMode固定为UIViewContentModeScaleToFill,转换会很容易。但如果是 UIViewContentModeScaleAspectFit,事情就会变得更加复杂。

是否有一种优雅的方式来实现这一点?我真的不想为每个单独的 contentMode(我认为超过 10 个)计算它。

谢谢!

最佳答案

今天,我有一些空闲时间整理我对这个问题的解决方案并将其发布在 GitHub 上:UIImageView-GeometryConversion

它是 UIImageView 上的一个类别,提供将图像中的点和矩形转换为 View 坐标的方法,并支持所有 13 种不同的内容模式。

希望你喜欢!

关于iphone - 将点从图像转换为 UIImageView 点,contentMode-aware,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7216663/

相关文章:

iphone - objective c 获取点前后的子字符串

ios - Cocos2d 绘图应用程序制作线条

iphone - 如何设置 UIBarButtonItem 颜色

iphone - UITextField 文本字段未设置

iphone - 如何获取CCSprite中特定像素的RGBA颜色

iphone - 如何将 NSDictionary 转换为 NSData,反之亦然?

iphone - 我可以在 Xcode 4 中选择配置而不创建方案吗?

ios - 在 Deprecated sizeWithFont :minFontSize:actualFontSize to get the change in font size? 中复制 actualFontSize 指针返回

iphone - AVAssetImageGenerator cancelAllCGImageGeneration不会取消AllCGImageGeneration

ios - 总是调用 ViewDidLoad