Sam*_*Sam 4 scale image-resizing ios uigraphicscontext swift
我曾经使用以下代码调整图像大小,并且它曾经在比例因子上工作得很好.现在使用Swift 3我无法弄清楚为什么不考虑比例因子.调整图像大小但未应用比例因子.你知道为什么吗?
let layer = self.imageview.layer
UIGraphicsBeginImageContextWithOptions(layer.bounds.size, true, 0)
layer.render(in: UIGraphicsGetCurrentContext()!)
let scaledImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
print("SCALED IMAGE SIZE IS \(scaledImage!.size)")
print(scaledImage!.scale)
Run Code Online (Sandbox Code Playgroud)
例如,如果我在iPhone 5上截取屏幕截图,图像大小将为320*568.我以前用相同的代码得到640*1136 ..什么可能导致比例因子不被应用?
当我打印图像的比例时,它将根据设备分辨率打印1,2或3,但不会应用于从上下文拍摄的图像.
scaledImage!.size 不会以像素为单位返回图像大小.
CGImageGetWidth并CGImageGetHeight返回相同的大小(以像素为单位)image.size * image.scale
如果你想测试它,首先你必须 import CoreGraphics
let imageSize = scaledImage!.size //(320,568)
let imageWidthInPixel = CGImageGetWidth(scaledImage as! CGImage) //640
let imageHeightInPixel = CGImageGetHeight(scaledImage as! CGImage) //1136
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4065 次 |
| 最近记录: |