Ios 从GraphicContext绘制图像时图像变得模糊?
我在情节提要中创建了一个带有UIImageView的ViewController。ImageView设置为Ios 从GraphicContext绘制图像时图像变得模糊?,ios,objective-c,swift,cgimage,uigraphicscontext,Ios,Objective C,Swift,Cgimage,Uigraphicscontext,我在情节提要中创建了一个带有UIImageView的ViewController。ImageView设置为Aspect Fit,并获得黄色背景色 这是我用来做测试的 当我运行我的应用程序时,图像显示如下: 没问题。图像看起来很清晰。现在,我在我的viewDidLoad方法中执行了以下操作: @IBOutlet weak var imageView: UIImageView! override func viewDidLoad() { super.viewDidLoad()
Aspect Fit
,并获得黄色背景色
这是我用来做测试的
当我运行我的应用程序时,图像显示如下:
没问题。图像看起来很清晰。现在,我在我的viewDidLoad
方法中执行了以下操作:
@IBOutlet weak var imageView: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
UIGraphicsBeginImageContext(imageView.image!.size)
imageView.image!.drawInRect(CGRectMake(0, 0, imageView.image!.size.width, imageView.image!.size.height))
var drawedImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
imageView.image = drawedImage
}
结果如下:
从图形上下文中绘制图像后,图像看起来比以前模糊得多
如何防止图像在从图形上下文中提取时变得模糊?可能的问题是,图像CGSize返回的是以点为单位的大小,而不是以像素为单位的大小。视网膜屏幕(所有仍在销售的iDevice屏幕)每点有多个像素 尝试乘以屏幕比例因子或将其设置为0以自动确定(默认值为1):
尝试使用UIGraphicsBeginImageContextWithOptions。请参见。您的意思是使用
UIGraphicsBeginImageContextWithOptions(imageView.image!.size,false,0.0)
还是我应该将大小宽度和高度乘以屏幕比例?第一个:)编辑答案以显示示例为我工作谢谢:)
@IBOutlet weak var imageView: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
UIGraphicsBeginImageContext(imageView.image!.size, imageView.opaque, 0.0)
imageView.image!.drawInRect(CGRectMake(0, 0, imageView.image!.size.width, imageView.image!.size.height))
var drawedImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
imageView.image = drawedImage
}