iOS:仅绘制 UImage 的一部分

2023-12-02

我正在尝试仅绘制一个自定义部分UIImage(即:我想reveal的部分UIImage用户触摸)并且我通过使用得到了合理的结果mask的财产layer.

我的身上有这样的东西UIView:

UIBezierPath *maskPath = [UIBezierPath bezierPath];
[maskPath setLineWidth:10.0];
[maskPath moveToPoint:CGPointMake(10.0, 10.0)];
[maskPath addLineToPoint:CGPointMake(100.0, 100.0)];
CAShapeLayer *shapeMaskLayer = [CAShapeLayer layer];
shapeMaskLayer.path = maskPath.CGPath;
[self.layer setMask:shapeMaskLayer];

然后,于drawRect:

- (void)drawRect:(CGRect)rect
{
    [img drawInRect:rect];
}

有用。我只是看到由定义的图像部分maskPath.

然而,这看起来并不是解决这个问题的最佳方法。所以我的问题是:在 iOS SDK 中绘制图像的自定义部分(可以是任何形状)的最佳方法是什么?.


您可以尝试的一件事是简单地剪切而不是创建额外的图层。例如

- (void)drawRect:(CGRect)rect
{
    CGContextRef ctx = UIGraphicsGetCurrentContext();

    UIBezierPath *maskPath = [UIBezierPath bezierPath];
    [maskPath setLineWidth:10.0];
    [maskPath moveToPoint:CGPointMake(10.0, 10.0)];
    [maskPath addLineToPoint:CGPointMake(100.0, 100.0)];

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

iOS:仅绘制 UImage 的一部分 的相关文章

  • 当 UITextField 已满或空时显示警报 Swift

    下面的代码中 如果 userNameTF 或 passwordTF 已满或为空 则会显示警报 IBAction func LoginBtn sender AnyObject let userName userNameTF text let
  • 使用 NSError 检查错误的正确结构

    我正在编写各种例程 并尽力保持其整洁和重构 我正在创建的方法开始看起来与此代码类似 IBAction buttonPress id sender Create Document Shopping List with this documen
  • iOS 滚动视图允许滚动过去的内容

    我正在努力优化我的应用程序以适应横向和较小的屏幕 我主要使用滚动视图来实现这一点 在我的其中一个视图中 我有一个容器视图 当我在故事板中的设备之间切换时 这个容器视图看起来很完美 容器视图映射到具有滚动视图的视图控制器 该滚动视图的顶部 底
  • UIImagePickerView 控制器 - 图像路径 - iphone

    UIImagePickerView控制器返回NSData的图像 我的要求是将图像的路径存储为 varchar 数据类型 从中选择图像后UIImagePickerView 如何获取iPhone照片库中所选图片的完整路径 我的应用程序不必担心在
  • 错误:更改核心数据模型后架构armv7的重复符号

    我有一个使用核心数据框架的应用程序 我工作得很好 我刚刚更改了数据模型 向一个实体添加一个属性 当我尝试构建它时 出现错误 duplicate symbol OBJC METACLASS AccountFolder in Users XXX
  • iphone NSDate 转换问题

    在我的 facebook 图表 Api 中 我正在获取这些数据 来自杰森 updated time 2011 05 17T14 52 16 0000 我正在使用此代码将其转换为有效的日期格式 NSDateFormatter df NSDat
  • 我的游戏中应该有多少个视图控制器?

    我开始使用 spritekit 构建我的第一个游戏 现在我只有一个视图控制器来呈现开始屏幕场景 override func viewDidLoad super viewDidLoad let scene StartScreenScene C
  • iphone:如何停止快门动画?

    我有两个问题 1 我想知道如何在相机加载时停止快门动画 我正在使用 UIImagePickerController 我已经参考了堆栈溢出的许多答案 但没有成功 2 我在相机中有一个自定义按钮 使用cameraOverlayView并想通过单
  • NVActivityIndi​​catorView 仅适用于特定视图

    我正在使用这个库https github com ninjaprox NVActivityIndi catorView https github com ninjaprox NVActivityIndicatorView用于显示加载指示器
  • 在 UIImage 顶部绘制透明圆圈 - iPhone SDK

    我在尝试找出如何在 UIImageView 中的 UIImage 顶部绘制透明圆圈时遇到了很多麻烦 谷歌给了我线索 但我仍然找不到有效的例子 有没有人知道的例子可以证明这一点 最简单的方法就是创建一个半透明的方形 UIView 然后将其图层
  • 在现有 iOS 应用程序中集成 React-native(0.40.0) 后找不到 Yoga/Yoga.h 头文件

    在我的 Swift iOS 应用程序中集成 React Native 后 我无法构建 yoga Yoga h file cannot be found 我已经浏览了文档 查看了react native github页面 检查了类似问题的SO
  • git 提交错误:检测到大文件

    您好 我正在为 ios 8 1 开发一个应用程序 xcode 我已经使用 googleMaps 框架来实现自动完成功能 当我尝试在 Git 中推送我的项目时 我收到大文件检测错误 后来尝试使用 git lfs 并跟踪 git 检测到的文件
  • 拖动时获取MKAnnotation的坐标

    我正在根据用户添加的注释的位置创建一条路径 MKPolyline 我想允许用户通过拖动引脚来更改路径 我目前可以做到这一点 但 MKPolyline 不会更新 直到引脚被放下 我实施了 void mapView MKMapView mapV
  • iPhone 和加密库

    我想我必须在我的 iPhone 应用程序中使用加密库 我想问你有关苹果公司实施的加密货币出口政策的影响 我需要做一些额外的事情吗 例如填写表格等 1 如果我使用 MD5 进行哈希处理 2 如果我使用对称加密 Thanks EDIT 2009
  • Swift C 回调 - Swift 类指针的 takeUnretainedValue 或 takeRetainedValue

    我有一些UIView or UITableViewCell 里面我有 C 回调 例如 CCallback bridge self observer data gt Void in let mySelf Unmanaged
  • 在故事板中的视图控制器之间滑动手势

    我希望添加左右滑动手势来在视图控制器之间进行更改 这是否可能 并且有没有一种简单的方法可以在故事板中执行此操作 谢谢 故事板允许您在两个视图控制器之间设置 Segues 我想说首先在视图之间附加 Segues 给它一个标识符 然后使用类似的
  • Swift 中的 UIAlert 自动消失?

    我有以下代码 Creates Alerts on screen for user func notifyUser title String message String gt Void let alert UIAlertController
  • 将文本叠加在图像背景上并转换为 PDF

    使用 NET 我想以编程方式创建一个 PDF 它仅包含一个背景图像 其上有两个具有不同字体和位置的标签 我已阅读过有关现有 PDF 库的信息 但不知道 如果适用 哪一个对于如此简单的任务来说最简单 有人愿意指导我吗 P D 我不想使用生成的
  • CGImage/UIImage 在 UI 线程上延迟加载会导致卡顿

    我的程序显示一个水平滚动表面 从左到右平铺有 UIImageViews 代码在 UI 线程上运行 以确保新可见的 UIImageView 分配有新加载的 UIImage 加载发生在后台线程上 一切工作几乎都很好 除了每个图像变得可见时出现口
  • 为什么使用 iPhone 或 iOS 设备在“iframe”中查看“position:fixed”时不起作用?

    我研究过 stackoverflow 似乎position fixed在 iOS 移动设备的 iframe 中 https stackoverflow com questions 15874910 position fixed and if

随机推荐

  • SockJs - 未找到“信息”路径

    我正在运行一个SockJS 的示例 运行 npm install 一切正常 Start server没有问题 当我第一次加载时测试页 我看到 404 调用失败http 127 0 0 1 echo info 我正在查看 sockjs 代码
  • 如何调用Android联系人列表?

    我正在制作一个 Android 应用程序 需要调用手机的联系人列表 我需要调用联系人列表功能 选择一个联系人 然后返回我的应用程序并显示该联系人的姓名 这是我在互联网上获得的代码 但它不起作用 import android app List
  • Windows Phone 8.1 中的 AutoSuggestBox 出现奇怪的结果

    我正在尝试使用标准AutoSuggestBox在 Windows Phone 8 1 XAML 应用程序中 但它的行为非常奇怪 在一个简单的演示中 我收集了 Items new ObservableCollection
  • Android - 加快在数据库中插入数据的速度

    我目前有一个 CSV 文件 我正在解析该文件 并尝试将数据插入到 android 数据库中 我遇到的问题是插入所有数据花费的时间太长 数据量很大 但我觉得不需要 20 分钟左右就能完成 基本上 我创建数据库 然后开始解析 在解析每个单独的
  • CameraSource .setAutoFocusEnabled(true) 返回:尽管设备支持自动对焦,但该设备不支持相机自动对焦

    下面是我的条形码扫描仪活动 除了 setAutoFocusEnabled true 之外 一切正常 它在运行时返回一条消息 显示我的设备不支持自动对焦 尽管 Samsung Tab E T561 是支持自动对焦的设备 import andr
  • 如何使用 R 和 ggplot 绘制逻辑回归模型的结果

    creat a new data frame and add a binary column called surv24 leukemia data lt data frame wbc leuk wbc ag leuk ag time le
  • 减小 pdf 大小 - Objective c

    我有一个pdf生成项目 它由一些文本和一个已存储在数据库中的图像组成 我想预览并邮寄生成的pdf 当只有文本数据时一切正常 如果我们的数据中有图像 就会出现问题 邮件收到 大小为 10MB 或以上的 pdf 即使它具有大小为 1MB 或以下
  • List RemoveAll() 没有删除项目

    我有一个看起来像这样的对象 Text Another lovely alert Category 2 UserAlerts UserId 2 这将传递到 Web API 并正确绑定到 Key Column Order 0 public lo
  • SwiftUI @FetchRequest 使应用程序崩溃并返回错误

    我正在尝试使用 Xcode 11 在 SwiftUI 的 mac 应用程序中使用核心数据 我在创建项目时勾选了 使用核心数据 我还创建了实体 称为 VisitedCases 并使用编辑器创建 NSManagedObject 子类文件 我还将
  • F#:从另一个列表中过滤一个列表中找到的项目

    假设我有两个列表 let a 1 1000 let b 250 500 如何获取包含值 1 249 501 1000 的新列表 由于您的列表已排序 因此您可以使用此 非尾递归 函数在线性时间内解决此问题 let rec except a b
  • Specs2 - 标记要运行的测试

    我已经使用 ScalaTest 一段时间了 我发现标记测试并从命令行仅运行具有特定标记的测试的功能非常有用 Specs2中有类似的东西吗 我知道您可以使用 testOnly 运行特定的测试类 但我只想使用规范中的特定标签运行测试 操作方法如
  • 如何在 CSS 中使用 :not 选择器?

    我的问题说明了一切 我是 CSS 新手 我正在尝试使用以下代码 但它不起作用 ul verticalNav declaration ul verticalNav li declaration ul verticalNav li a decl
  • AppCompat PreferenceActivity 向上按钮不起作用

    我正在尝试创建一个扩展 AppCompatPreferenceActivity 并在操作栏中实现向上按钮的活动 视觉上一切看起来都很好 但向上按钮不响应触摸事件 以下是我的java和xml代码 PrefrencesDisplayActivi
  • aChartEngine、GraphicalView OnClickListener 不起作用

    我是 android 新手 正在使用 aChartEngine 创建条形图 我想在用户单击图表时捕获 x 和 y 值 我已经查看了 aChartEngine 的演示 并且我的图表创建得很好 但是 当我单击图形时 onClickListner
  • 当 eventDrop 被调用时,如何发送 ajax 请求来更新 FullCalendar UI 中的事件?

    我正在尝试使用这个很棒的用户界面 全日历 但我想做的是 当用户移动事件时 发送一个 ajax 请求来更新数据库中的事件数据 因此 如果用户想要将事件移至日历中的不同日期 那么我需要能够使用 ajax 请求将请求发送到数据库 我如何收集新信息
  • 用户输入创建对象

    我正在尝试创建一个使用用户输入的新对象 我尝试将用户输入分配给变量但是不知道如何添加变量当我声明新对象时到新对象 这只是我需要帮助的代码部分 我需要帮助的部分是line 8 我知道我可以随机放置一些东西 当我使用我的设置方法时 它会覆盖 但
  • 从 Amazon MySQL RDS 本地导入转储时 MySQL 语法错误?

    当我从 Amazon RDS 创建数据库转储然后尝试将其导入本地时 结果是ERROR 1064 42000 at line 54 第 54 行有如下语句 CREATE TABLE account emailconfirmation 用于转储
  • 查找未加权无向图中两个节点之间的所有最短路径

    我需要帮助找到一个节点中两个节点之间的所有最短路径未加权无向图 我能够使用 BFS 找到最短路径之一 但到目前为止我不知道如何找到并打印所有路径 对我可以使用的算法 伪代码有什么想法吗 需要注意的是 请记住 图中两个节点之间的最短路径可能呈
  • 启动 Hbase:cygpath:无法转换空路径

    我希望有人能帮助我解决这个问题 启动 hbase 时出现此错误 start hbase sh cygpath can t convert empty path cygpath can t convert empty path soporte
  • iOS:仅绘制 UImage 的一部分

    我正在尝试仅绘制一个自定义部分UIImage 即 我想reveal的部分UIImage用户触摸 并且我通过使用得到了合理的结果mask的财产layer 我的身上有这样的东西UIView UIBezierPath maskPath UIBez