我有一个imageView,并说它的大小是屏幕尺寸。它显示一个具有较大尺寸的图像,并且ImageView的内容模式设置为ScaleAspectFill。然后,我使用UibeizerPath在ImageView上绘制一些行。稍后,我想生成一个新图像,其中包括我使用drawViewHierarchyInRect绘制的线条。问题是新的图像大小是ImageView的大小,因为DrawViewHierarchyInRect方法仅像拍摄快照一样起作用。如何将原始图像与我绘制的线相结合,同时保持图像的大小?
您要使用方法UIGraphicsBeginImageContextWithOptions
来创建所需尺寸的屏幕外上下文。(在您的情况下,图像的大小。(
然后将图像绘制到上下文中,在顶部绘制线,然后从上下文中提取复合图像。最后,处置上下文。
在线有大量的示例代码,显示了如何使用UIGraphicsBeginImageContextWithOptions
。这很容易。